您的位置:

Python中如何使用fromkeys函数创建字典?

一、什么是字典?

在Python中,字典(Dictionary)是一种无序、可变的数据类型,用来存储键值对(key-value pairs)。

字典中的键必须是唯一的,而且必须是不可变的对象,如字符串、数字或元组,而值可以是任意的对象。

字典中的键值对使用大括号{}来表示,以冒号: 分隔键和值,每个键值对之间用逗号,分隔。


# 示例代码 
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
print(my_dict)  
# {'apple': 1, 'banana': 2, 'orange': 3}

二、fromkeys函数功能介绍

Python中字典的 fromkeys() 方法用于创建一个新字典,以指定的序列为字典的键,所有键对应的值都相同。其用法如下:


# 语法
dict.fromkeys(seq[, value])

参数
seq -- 字典键值列表。
value -- 可选参数,设置键序列(seq)对应的值,默认为 None。

返回值
返回一个新字典,包含以 seq 中元素作为字典的键,value 作为字典所有键对应的初始值的键值对。

注意事项
1、value 参数默认为 None。
2、如果不提供 value 参数或为 None,则新字典中键对应的初始值为 None。

三、fromkeys方法创建字典示例

下面的代码展示了如何使用 fromkeys() 方法创建一个字典:


# 示例代码
keys = ['python', 'java', 'c++']
values = 0
my_dict = dict.fromkeys(keys, values)
print(my_dict) 
# {'python': 0, 'java': 0, 'c++': 0}

在上面的代码中,我们先创建了一个键列表keys和一个值变量values,并且将它们作为参数传递给了 fromkeys() 方法。

fromkeys() 方法接受两个参数,将 keys 列表中的每个元素作为新字典的键,并将 values 变量的值作为新字典的所有键对应的初始值。

最后输出结果为:{'python': 0, 'java': 0, 'c++': 0}。

四、字典中的值为可变对象

字典中的值可以是任意对象,包括可变对象和不可变对象。

在下面的示例中,我们将使用字典 fromkeys() 方法来初始化一个列表的元素为一个空的可变列表:


# 示例代码
keys = ['apple', 'banana', 'orange']
values = []
my_dict = dict.fromkeys(keys, values)
print(my_dict) 
# {'apple': [], 'banana': [], 'orange': []}

my_dict['apple'].append(1)
print(my_dict) 
# {'apple': [1], 'banana': [], 'orange': []}

注意,在上面示例中,我们将值变量设置为一个空的可变列表 [],并将其传递给 fromkeys() 方法。

由于列表是可变对象,因此在字典创建后,我们可以通过对字典中某个键对应列表的操作来修改列表中的元素。

例如,在上面的示例中,我们通过将数字1添加到字典中键为'apple'的列表中来修改了列表元素。

五、小结

在本文中,我们对 Python 中的字典进行了简要介绍,然后详细介绍了 fromkeys() 方法的功能和用法。

fromkeys() 方法可以方便地初始化字典中的键对应的值。

如果您有任何问题或建议,请在下面的评论中留言。