Python:字典生成式
知道有这么玩意,但是隔了一段时间不用,又容易忘记它的语法,又得网上查一遍。
这次就自己用博客好好记下来。
运行环境 Runtime environment
1 | 操作系统 : Windows10 |
背景
用一串简短的代码代替冗长判断嵌套,让代码变得更加简洁明了。
同类的还有列表生成器,而字典生成器相对来说用得少了一些。
字典生成式
字典生成式的语法格式:
dictG = {key: value for (key, value) in iterable}
其中iterable为可迭代的对象,比如list、tuple等
尝试使用字典生成式完成字典键值位置对调操作
1 | old_dict = {'x': 1, 'y': 2, 'z': 3} |
运行结果:
1 | {1: 'x', 2: 'y', 3: 'z'} |
尝试使用字典生成式完成list、tuple组成键值对的操作
1 | list_1 = [1,2,3,4,5,6,7] |
运行结果:
1 | {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7} |
尝试结合if判断来写字典生成式
1 | old_dict = {'x': 1, 'y': 2, 'z': 3} |
运行结果:
1 | {'x': None, 'y': 2, 'z': None} |
尝试字典生成式和字典生成式嵌套
1 | old_dict = {'x': 1, 'y': 2, 'z': 3} |
运行结果:
1 | {1: None, 2: None, 3: None} |
总结
- 字典生成式与列表生成式的用法基本相同
- 网上博客把这个称之为字典生成器,我认为称为字典生成式更准确,用来区分生成器
- 字典生成式等效于一个字典,是可以进行嵌套的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 快乐咸鱼のRaXianch窝!
评论
WalineValine