字典

字典通常用于存储描述一个物体的相关信息。

字典的元素都是无序的,所以字典没有索引。

字典用 {} 定义。

字典使用键值对存储数据,键 key 是索引,值 value 是数据。键和值之间用 : 分隔。

键必须是字符串、数字或元组。值可以是任意数据类型。多个键值对之间用逗号分隔。

键必须是唯一的,而值可以重复。

程序示例:

dict1 = {"name": "xiaoming",
         "age": 30}
print(dict1)  # {'name': 'xiaoming', 'age': 30}
print(type(dict1))  # <class 'dict'>
print(dict1["name"])  # xiaoming
print(type(dict1["name"]))  # <class 'str'>
print(dict1["age"])  # 30
print(type(dict1["age"]))  # <class 'int'>
print(len(dict1))  # 2

程序示例:

# 键为数字
dict2 = {1: 'one', 2: 'two', 3: 'three'}
print(dict2)  # {1: 'one', 2: 'two', 3: 'three'}

程序示例:

# 键为元组
dict3 = {('one', 'two'): 3, ('three', 'four'): 'five'}
print(dict3)  # {('one', 'two'): 3, ('three', 'four'): 'five'}
print(dict3[('one', 'two')])  # 3

程序示例:

# 创建空字典的两种方式
dict1 = {}
dict2 = dict()
print(dict1)  # {}
print(dict2)  # {}
print(len(dict1))  # 0
print(len(dict2))  # 0
print(type(dict1))  # <class 'dict'>
print(type(dict2))  # <class 'dict'>

程序示例:

# 键不唯一时,后写的键会覆盖前面写的键
dict1 = {"name": "xiaoming",
         "age": 30,
         "name": "yea"}
print(dict1)  # {'name': 'yea', 'age': 30}

程序示例:

# 新增键值对
dict1 = {"name": "xiaoming",
         "age": 30, }
print(dict1)  # {'name': 'xiaoming', 'age': 30}
dict1["address"] = "NanJing"
print(dict1)  # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}

程序示例:

# 获取键值对
dict1 = {"name": "xiaoming",
         "age": 30, }
print(dict1)  # {'name': 'xiaoming', 'age': 30}
print(dict1["name"])  # xiaoming
print(dict1["age"])  # 30

程序示例:

# 获取键值对
dict1 = {"name": "xiaoming",
         "age": 30, }
print(dict1)  # {'name': 'xiaoming', 'age': 30}
print(dict1["name"])  # xiaoming
print(dict1["age"])  # 30

程序示例:

# 修改键值对
dict1 = {"name": "xiaoming",
         "age": 30, }
print(dict1)  # {'name': 'xiaoming', 'age': 30}
dict1["name"] = "yea"
print(dict1["name"])  # yea

程序示例:

# 删除字典
dict1 = {"name": "xiaoming",
         "age": 30, }
print(dict1)  # {'name': 'xiaoming', 'age': 30}
del dict1
# print(dict1)  # NameError: name 'dict1' is not defined. Did you mean: 'dict'?

程序示例:

# 成员运算符,判断字典是否存在某一个 key,不能判断某一个 value 是否存在
dict1 = {"name": "xiaoming",
         "age": 30, }
print(dict1)  # {'name': 'xiaoming', 'age': 30}
print("name" in dict1)  # True
print("Age" in dict1)  # False

程序示例:

# 遍历字典
dict1 = {"name": "xiaoming",
         "age": 30,
         "address": "NanJing"}
for i in dict1:
    print(i)

结果:

name
age
address

程序示例:

# 遍历字典
dict1 = {"name": "xiaoming",
         "age": 30,
         "address": "NanJing"}
for i in dict1:
    print(i, dict1[i])

结果:

name xiaoming
age 30
address NanJing

程序示例:

# 遍历字典
dict1 = {"name": "xiaoming",
         "age": 30,
         "address": "NanJing"}

print("-" * 30)

for k, v in dict1.items():
    print(k, v)

print("-" * 30)

for k in dict1.keys():
    print(k)

print("-" * 30)

for v in dict1.values():
    print(v)

print("-" * 30)

print(dict1.items())
print(dict1.values())
print(dict1.keys())

print(type(dict1.items()))
print(type(dict1.values()))
print(type(dict1.keys()))

结果:

------------------------------
name xiaoming
age 30
address NanJing
------------------------------
name
age
address
------------------------------
xiaoming
30
NanJing
------------------------------
dict_items([('name', 'xiaoming'), ('age', 30), ('address', 'NanJing')])
dict_values(['xiaoming', 30, 'NanJing'])
dict_keys(['name', 'age', 'address'])
<class 'dict_items'>
<class 'dict_values'>
<class 'dict_keys'>

程序示例:

# 字典常用方法
dict1 = {"name": "xiaoming",
         "age": 30,
         "address": "NanJing"}

item = dict1.pop("address")
print(item)  # NanJing
print(dict1)  # {'name': 'xiaoming', 'age': 30}

程序示例:

# 字典常用方法
dict1 = {"name": "xiaoming",
         "age": 30,
         "address": "NanJing"}

print(dict1)  # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
dict1.clear()
print(dict1)  # {}

程序示例:

# 字典常用方法
dict1 = {"name": "xiaoming",
         "age": 30,
         "address": "NanJing"}

print(dict1)  # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
dict2 = dict1.copy()
print(dict2)  # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
posted @ 2025-11-02 21:52  YouKong  阅读(6)  评论(0)    收藏  举报