Python3 字典 fromkeys() 方法
描述
Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
语法
fromkeys() 方法语法:
dict.fromkeys(seq[, value])
参数
- seq -- 字典键值列表。
- value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。
返回值
该方法返回一个新字典。
实例
以下实例展示了 fromkeys()函数的使用方法:
实例
#!/usr/bin/python3
seq = ('name', 'age', 'sex')
tinydict = dict.fromkeys(seq)
print ("新的字典为 : %s" % str(tinydict))
tinydict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" % str(tinydict))
以上实例输出结果为:
新的字典为 : {'age': None, 'name': None, 'sex': None} 新的字典为 : {'age': 10, 'name': 10, 'sex': 10}
不指定值:
实例
#!/usr/bin/python3
x = ('key1', 'key2', 'key3')
thisdict = dict.fromkeys(x)
print(thisdict)
以上实例输出结果为:
{'key1': None, 'key2': None, 'key3': None}
beastsam
491***707@qq.com
有一个疑惑,在给一个字典使用fromkeys方法时,无法对字典内容进行改变。
实例:
beastsam
491***707@qq.com
northxw
nor***w@qq.com
回复楼上的疑惑:
Python 字典 fromkeys() 函数用于创建一个新字典. 切记是新字典. 因为你没有保存对新字典的引用,所以以后无法查看到它的变化。 可以对你的例子做一点小修改:
这部就是你想要的结果吗? 嘿嘿
northxw
nor***w@qq.com
风雨昭君
zho***i_4652@126.com
fromkeys 的注意点
使用 fromkeys 创建一个列表:
如下:
我需要将辽宁的省会改为沈阳, 再输出, 如下:
可以看到每一个 Capital 都会被更改, 每一个 key 所对应的 value 值有点类似于浅拷贝。
风雨昭君
zho***i_4652@126.com