python中dict的fromkeys用法
fromkeys是创造一个新的字典。就是事先造好一个空字典和一个列表,fromkeys会接收两个参数,第一个参数为从外部传入的可迭代对象,会将循环取出元素作为字典的key值,另外一个参数是字典的value值,不写所有的key值所对应的value值均为None,写了则为默认的值
v = dict.fromkeys(range(10))
print(v)
结果:
{0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
传入第二个参数:
v = dict.fromkeys(range(10),'hello')
print(v)
结果:
{0: 'hello', 1: 'hello', 2: 'hello', 3: 'hello', 4: 'hello', 5: 'hello', 6: 'hello', 7: 'hello', 8: 'hello', 9: 'hello'}
fromkeys的append和赋值修改
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
v = dict.fromkeys(['k1','k2'],[])
v['k2'].append(666)
print(v)
v['k1'] = 777
print(v)
结果:
{'k1': [666], 'k2': [666]}
{'k1': 777, 'k2': [666]}
结论:fromkeys方法并不适用来创建多个对象,因为我如果改变了某一个对象中的某个属性,那么其余对象都会被改变。
但如果就想要呈现这种(连坐的)效果,那么可以这个方法。