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和赋值修改

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方法并不适用来创建多个对象,因为我如果改变了某一个对象中的某个属性,那么其余对象都会被改变。

但如果就想要呈现这种(连坐的)效果,那么可以这个方法。

猜你喜欢

转载自www.cnblogs.com/xcsg/p/10476025.html