Python 向字典添加键值对
字典是Python中使用最广泛的数据类型之一。它是一组无序的键值对。每个值都有一个对应的键来标识它。字典是一个可变的集合,表示我们可以修改它的值。字典与其他数据类型不同之处在于其存储键值对的映射,而其他数据类型则将单个值存储为元素。
示例:
代码
# 字典示例的Python程序
dictionary = {101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
# 显示字典的元素
print(dictionary)
print(dictionary[101])
print(dictionary[102])
print(dictionary[103])
输出:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
Ramya
Sanya
Sree
考虑到字典是可变的,我们应该能够更改现有键的值,并向字典添加新的键值对。本教程将讨论如何将新的键值对添加到字典中。
1.使用关键字下标的传统方式:
我们可以为现有键分配所需的值。Python会忘记旧值并将新值更新到键。同样的方式,我们可以为新键分配值,从而附加新的键值对。
关键字下标的语法如下:
语法:
Name_of_Dictionary [New_Key_Name] = New_Key_Value
示例:
代码
# 向字典添加键值对的Python程序
dictionary = {101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
print(dictionary)
dictionary[102] = "Priyanka"
dictionary[103] = "Ujjwala"
dictionary[104] = "Sanya"
dictionary[105] = "Sree"
print(dictionary)
输出:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
{101: 'Ramya', 102: 'Priyanka', 103 : 'Ujjwala', 104: 'Sanya', 105: 'Sree'}
2.update() 方法:
它是一种内置的字典方法,旨在修改字典。该方法将 {key:value} 对作为参数,并将其添加到字典中。
我们也可以使用该方法更新预先存在的键的值。
该方法可以接受任意数量的参数,这意味着它可以一次将字典附加到任意数量的 {key:value} 对。即使字典中已存在该键,该值也将被新值替换。如果键尚不存在,则会向字典附加新的键值对。
示例:
代码
# 向字典添加键值对的Python程序
dictionary = {101: 'Ramya', 102: 'Sanya', 103 : 'Sree'}
print(dictionary)
dictionary.update({102: 'Priyanka'})
dictionary.update({103: 'Ujjwala'})
dictionary.update({104: 'Sanya'})
dictionary.update({105: 'Sree'})
print(dictionary)
输出:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
{101: 'Ramya', 102: 'Priyanka', 103: 'Ujjwala', 104: ' Sanya', 105: 'Sree'}
在上面的示例中,使用 update 方法四次修改了字典。前两个语句更新了已存在的键的值,而接下来的两个向字典添加了两个新对。
如果我们想添加成千上万个新的键值对怎么办?
我们不能一个接一个地添加单个对。这需要很长时间,使代码变得复杂和冗长。
简单的方法是创建一个新字典,其中包含我们要添加的所有新对,并将其附加/合并到字典中。
示例:
代码
# 向字典添加键值对的Python程序
dictionary = {101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
print("原始字典:")
print(dictionary)
print("新的键值对:")
append = {104: 'Jeevani', 105: 'Rishitha', 106: 'Nikitha'}
print(append)
dictionary.update(append)
print("更新后的字典:")
print(dictionary)
输出:
The original dictionary:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
New key: value pairs:
{104: 'Jeevani', 105: 'Rishitha', 106: 'Nikitha'}
The updated dictionary:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree', 104: 'Jeevani', 105: 'Rishitha', 106: 'Nikitha'}
3. 面向对象编程的方式:
我们使用Python的面向对象的特性来创建一个能够添加新的键值对到字典中的函数。
逻辑和传统方式相同,但区别在于我们为字典创建了一个对象,用户可以输入键值对以添加或修改字典。
例子:
代码
# Python program for adding a key : value pair to the dictionary
class append(dict):
def __init__(self, dictionary):
self.dictionary = dictionary
def add(self, key, value):
self.dictionary[key] = value
dictionary = {101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
print(dictionary)
obj = append(dictionary)
obj.key = int(input("Enter the key you want to modify: "))
obj.value = input("Enter the value to update: ")
obj.add(obj.key, obj.value)
print(obj.dictionary)
输出:
#updating existing key:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
Enter the key you want to modify: 102
Enter the value to update: Priyanka
{101: 'Ramya', 102: 'Priyanka', 103: 'Sree'}
#adding new key:value pair:
{101: 'Ramya', 102: 'Sanya', 103: 'Sree'}
Enter the key you want to modify: 104
Enter the value to update: Sanya
{101: 'Ramya', 102: 'Sanya', 103: 'Sree', 104: 'Sanya'}
4. 字典推导式:
在Python中,一行代码可以用来构建一个字典,而字典推导技术可以用来向现有的字典中添加新的键值对。
下面是使用Python的字典推导特性添加键值组合的示例:
例子:
代码
# Python program for adding a key : value pair to the dictionary
# Create an existing dictionary
my_dict = {"name": "John", "age": 30}
# Append a new key-value pair to the dictionary using dictionary comprehension
my_dict = {**my_dict, "address": "123 Main St."}
# Print the updated dictionary
print(my_dict)
输出:
{'name': 'John', 'age': 30, 'address': '123 Main St.'}