杰瑞科技汇

Python list中如何添加dict元素?

在 Python 中,你可以向一个列表(list)中添加字典(dict),以下是几种常见的方法:

Python list中如何添加dict元素?-图1
(图片来源网络,侵删)

方法 1:使用 append() 添加单个字典

append() 会在列表末尾添加一个字典。

my_list = []
my_dict = {"name": "Alice", "age": 25}
my_list.append(my_dict)
print(my_list)
# 输出: [{'name': 'Alice', 'age': 25}]

方法 2:使用 extend() 添加多个字典

extend() 会将另一个列表(包含多个字典)的所有元素追加到当前列表。

my_list = [{"name": "Bob", "age": 30}]
new_dicts = [
    {"name": "Charlie", "age": 35},
    {"name": "David", "age": 40}
]
my_list.extend(new_dicts)
print(my_list)
# 输出: [
#   {'name': 'Bob', 'age': 30},
#   {'name': 'Charlie', 'age': 35},
#   {'name': 'David', 'age': 40}
# ]

方法 3:使用 insert() 在指定位置插入字典

insert(index, dict) 可以在列表的指定位置插入字典。

my_list = [{"name": "Eve", "age": 22}]
new_dict = {"name": "Frank", "age": 28}
my_list.insert(0, new_dict)  # 在索引 0 的位置插入
print(my_list)
# 输出: [{'name': 'Frank', 'age': 28}, {'name': 'Eve', 'age': 22}]

方法 4:直接使用 合并列表

通过 运算符可以合并两个列表(包含字典)。

list1 = [{"name": "Grace", "age": 27}]
list2 = [{"name": "Helen", "age": 32}]
combined_list = list1 + list2
print(combined_list)
# 输出: [
#   {'name': 'Grace', 'age': 27},
#   {'name': 'Helen', 'age': 32}
# ]

方法 5:使用列表推导式动态生成字典列表

如果需要根据条件或循环生成字典并添加到列表,可以使用列表推导式。

numbers = [1, 2, 3]
dict_list = [{"num": n, "square": n ** 2} for n in numbers]
print(dict_list)
# 输出: [
#   {'num': 1, 'square': 1},
#   {'num': 2, 'square': 4},
#   {'num': 3, 'square': 9}
# ]

注意事项

  1. 引用问题:如果直接修改已添加到列表的字典,会影响列表中的内容(因为字典是可变对象)。

    my_list = []
    my_dict = {"name": "Ivy"}
    my_list.append(my_dict)
    my_dict["age"] = 30  # 修改字典会影响列表中的元素
    print(my_list)  # 输出: [{'name': 'Ivy', 'age': 30}]
  2. 深拷贝:如果需要独立添加字典副本,可以使用 copy.deepcopy()

    import copy
    my_list = []
    original_dict = {"name": "Jack"}
    my_list.append(copy.deepcopy(original_dict))  # 添加副本

  • 单个字典append()
  • 多个字典extend()
  • 指定位置插入insert()
  • 动态生成 → 列表推导式

根据需求选择合适的方法即可!

分享:
扫描分享到社交APP
上一篇
下一篇