在 Python 循环中将项目添加到字典

在 Python 的循环中将项目添加到字典中

Adding items to a Dictionary in a Loop in Python

要在循环中将项目添加到字典:

  1. 使用for循环迭代序列。
  2. 或者,检查是否满足特定条件。
  3. 使用括号表示法将项目添加到字典中。
主程序
# ✅ add items to dictionary in a loop my_list = [('first', 'bobby'), ('last', 'hadz'), ('site', 'bobbyhadz.com')] my_dict = {} for item in my_list: my_dict[item[0]] = item[1] # 👇️ {'first': 'bobby', 'last': 'hadz', 'site': 'bobbyhadz.com'} print(my_dict) # ---------------------------------------------------------- # ✅ add items to dictionary in a loop (with condition) my_list = [('site', 'bobbyhadz.com'), ('last', 'hadz'), ('site', 'google.com')] my_dict = {} for item in my_list: if item[0] not in my_dict: my_dict[item[0]] = item[1] # 👇️ {'site': 'bobbyhadz.com', 'last': 'hadz'} print(my_dict)

第一个示例遍历元组列表并将新的键值对添加到字典中。

您可以迭代任何其他数据结构,但概念是相同的。

主程序
my_list = [('first', 'bobby'), ('last', 'hadz'), ('site', 'bobbyhadz.com')] my_dict = {} for item in my_list: my_dict[item[0]] = item[1] # 👇️ {'first': 'bobby', 'last': 'hadz', 'site': 'bobbyhadz.com'} print(my_dict)

在每次迭代中,我们访问索引处的元组项0并将其用作键,并使用索引处的元组项1作为值。

您经常需要做的事情是在循环中将项目添加到字典之前检查条件。
主程序
my_list = [('site', 'bobbyhadz.com'), ('last', 'hadz'), ('site', 'google.com')] my_dict = {} for item in my_list: if item[0] not in my_dict: my_dict[item[0]] = item[1] # 👇️ {'site': 'bobbyhadz.com', 'last': 'hadz'} print(my_dict)

在添加键之前,我们使用not in运算符检查字典中是否不存在该键。

与字典一起使用时,inandnot in 运算符检查对象中是否存在指定的键 dict

如果键不在字典中,我们添加一个具有指定键的新项。

或者,您可以为字典中的值使用列表。

如果键已经存在于字典中,我们将一个项目添加到列表中,否则,我们将键设置为包含该值的列表。

主程序
my_list = [['site', 'bobbyhadz.com'], ['last', 'hadz'], ['last', 'test'], ['site', 'google.com']] my_dict = {} for item in my_list: if item[0] not in my_dict: my_dict[item[0]] = [item[1]] else: my_dict[item[0]].append(item[1]) # 👇️ {'site': ['bobbyhadz.com', 'google.com'], 'last': ['hadz', 'test']} print(my_dict)

在每次迭代中,我们的if语句检查键是否不在字典中。

如果键不在字典中,我们将键设置为包含值的列表。

如果键已经在字典中,我们使用该list.append()方法将另一个值添加到列表中。

如果您需要在单个语句中添加或更新字典中的多个键,请使用该dict.update()方法。

dict.update方法使用

提供的值中的键值对更新字典。

主程序
my_dict = {'name': 'Alice'} my_dict.update({'name': 'bobbyhadz', 'age': 30}) print(my_dict) # 👉️ {'name': 'bobbyhadz', 'age': 30}

该方法覆盖字典的现有键并返回None.