先看一个简单的字典生成式:
1 columns=[1,2,3,4] 2 3 new_dict={c:1 for c in columns} 4 5 print(new_dict)
结果是:{1: 1, 2: 1, 3: 1, 4: 1}
语法:
{key:value for 循环},for循环取出可迭代对象中的元素,生成一个新的字典. 字典生成式的结构是在一个大括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。
比如:
iter=[1,2,3,4] new_dict={c:1 for c in iter if c>3} print(new_dict)
所以,只要是一个可迭代对象,都可以用字典生成式生成新的字典。可迭代对象常见的有列表,元组,字符串,字典,迭代器,生成器,它们之间区别参考:https://www.cnblogs.com/chaojiyingxiong/p/14787072.html
比如:
1 columns="1234" 2 3 new_dict={c:1 for c in columns} 4 5 print(new_dict)