python中dict的fromkeys用法

枫铃3年前 (2021-07-23)Python290

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

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

相关文章

python最大公约数和最小公倍数

辗转相除法 最大公约数...

Python教程:多态与多态性

一、多态 Python...

Python  File(文件) 方法

Python File(文件) 方法

open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数&...

Python基础教程:生成器

1、生成器 def func(): print("111") yield 222 gener = func() #...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。