Loading

数据结构之字典(Python)

数据结构之字典

在python中,字典是一系列键-值对。每个键都与一个值相关联。键只能是字符串,而与键相关联的值可以是数字、字符串、元组、列表乃至字典。字典中的值可以相同,但键不能有重复

键和值之间用冒号分隔,而键-值对之间用逗号分隔。

1. 创建空字典

# 创建空字典
object_dict = dict() # 或者object_dict = {}
# 打印字典
print (type(object_dict))
print (object_dict)

2. 添加键值对

# 创建空字典
object_dict = dict() # 或者object_dict = {}
# 打印字典
print (object_dict)

# 添加键值对
object_dict['西游记'] = '唐僧'
object_dict['水浒传'] = '宋江'
object_dict['三国演义'] = '吕布'
object_dict['红楼梦'] = '林黛玉'
# 打印更新后的字典
print (object_dict)

3. 删除键值对

del :删除指定键值对,必须指定字典名和要删除的键

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉'}
# 打印字典
print (object_dict)

# 查找键值对
if '西游记' in object_dict.keys():
    del object_dict['西游记']
# 打印更新后的字典
print (object_dict)

4. 修改键值对

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉'}
# 打印字典
print (object_dict)

# 修改键值对
if '西游记' in object_dict.keys():
    object_dict['西游记'] = '孙悟空'
# 打印更新后的字典
print (object_dict)

5. 查找键值对

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉'}
# 打印字典
print (object_dict)

# 查找键值对
if '西游记' in object_dict.keys():
    print ("键:{}  值:{}".format( '西游记', object_dict['西游记']))

6. 遍历字典

6.1 遍历键值对

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉'}
# 打印字典
print (object_dict)

# 遍历键值对
for key, value in object_dict.items():
    print ("\nKey: " + key)
    print ("Value: " + value)

6.2 遍历键

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉'}
# 打印字典
print (object_dict)

# 遍历键值对
for key in object_dict.keys():
    print ("\nKey: " + key)

6.3 遍历值

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉'}
# 打印字典
print (object_dict)

# 遍历键值对
for value in object_dict.values():
    print ("\nVlaue: " + value)

7. 集合

set:剔除重复项

# 创建字典
object_dict = {'西游记': '唐僧', '水浒传': '宋江', '三国演义': '吕布', '红楼梦': '林黛玉', '白蛇传':'唐僧'}
# 打印字典
print (object_dict)

# 值集合,剔除重复值
for value in set(object_dict.values()):
    print ("\nVlaue: " + value)

8. 嵌套

未完待续。。。

posted @ 2022-05-19 11:49  eiSouthBoy  阅读(175)  评论(0)    收藏  举报