一.字典的定义
1.花括号{ }
在Python中,可以使用花括号{}来定义字典。字典是一种无序的数据类型,它由键-值对组成。每个键-值对之间用逗号分隔,键和值之间使用冒号(:)分隔。下面是一个示例:
my_dict = {"apple": 2, "banana": 4, "orange": 6}
在这个例子中,my_dict是一个字典,它有三个键-值对。键是"apple"、"banana"和"orange",对应的值是2、4和6。
字典中的键必须是唯一的,但值可以重复。可以使用len()
函数来获取字典中键-值对的数量,使用方括号[]来访问特定的键对应的值。例如,my_dict["banana"]
将返回值4。
还可以使用for
循环来遍历字典中的键和值,如下所示:
for key, value in my_dict.items():
print(key, value)
2.dict( )
这将打印出字典中的每个键和对应的值。
d2 = dict()
print(d2, type(d2))
d3 = dict(a=10, b=20, c=30)
print(d3, type(d3))
3.字典的特点
字典的特点是:
- 键必须是唯一的,并且必须是不可变的数据类型(如字符串、数字、元组等)。
- 值可以是任意类型的数据。
- 字典的键值对是无序的,即字典中的元素没有固定的顺序
二.字典的键与值
我们可以使用键来访问字典中的值:
print(person["name"]) # 输出 "John"
我们也可以使用键来更改字典中的值:
值可以是任意数据类型,包括元组,列表,字典
person["age"] = 26
print(person["age"]) # 输出 26
需要注意的是,字典中的键是唯一的。如果我们尝试使用相同的键添加一个新的值,它将会覆盖原有的值:
person["name"] = "Tom"
print(person["name"]) # 输出 "Tom"
三.字典的常见操作
1.成员运算符 in
字典中的in用法用于判断一个键是否存在于字典中。
例如:
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print('name' in my_dict) # 输出 True
print('gender' in my_dict) # 输出 False
在上述代码中,'name'是my_dict的一个键,因此使用in操作符判断则返回True。而'gender'不是my_dict的一个键,因此返回False。
2.len
len(字典)可以获取字典的长度,也就是字典元素的个数
3.可迭代
d6 = {
"id": 101
}
for k in d6.keys():
print(k, d6[k])
for v in d6.values():
print(v)
for k, v in d6.items():
print(k, v)
4.get
获取指定键对应的值
如果键不存在返回None
也可以指定键不存在时返回默认的值
person = {"name": "John", "age": 25, "city": "New York"}
# 使用get()方法获取键name的值
name = person.get("name")
print(name) # 输出: John
# 使用get()方法获取键gender的值(不存在)
gender = person.get("gender")
print(gender) # 输出: None
# 使用get()方法获取键gender的值(提供默认值)
gender = person.get("gender", "Unknown")
print(gender) # 输出: Unknown
5.添加
在字典中加入新的键值对
变量名 [键名] = 值
d6 = {
"id": 101
}
d6["sex"] = "男"
print(d6)
# 返回结果为{"id": 101,"sex":"男"}
6.删减
pop("id") | 删除指定的键 并且返回对应的值 |
popitem() | 删除并且返回(元组)最后放入的一个键值对 一般不关注字典键值对的先后顺序 |
clear() | 清空字典,返回一个空字典 |
7.合并
update 合并一个字典到原始字典
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
dict1.update(dict2)
print(dict1)
输出结果为:
{"a": 1, "b": 2, "c": 3, "d": 4}
update()
方法将字典dict2
中的键值对合并到字典dict1
中。如果字典dict1
中已经存在相同的键,则更新对应的值。如果字典dict2
中的键在字典dict1
中不存在,则将键值对添加到字典dict1
中。
注意:update()
方法会修改原始字典,如果不想修改原始字典,可以先创建一个临时字典来进行合并操作。