博客
关于我
python基础变量之---字典
阅读量:796 次
发布时间:2023-03-07

本文共 1910 字,大约阅读时间需要 6 分钟。

字典

1. 字典介绍

字典是Python中的一种可变容器,能够存储任意类型的对象。它通过键(key)和值(value)的映射关系来组织数据,键和值之间用冒号分隔,对之间用逗号分隔。字典的形式通常为:

d = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

需要注意的是,字典的数据是无序的,键必须使用不可变类型且不能重复。字典的键可以用来作为索引,但不能使用整数索引。

2. 字典创建

字典是可以修改数据的数据容器,列表的元素存放在对应的下标处,但字典没有固定的下标顺序。字典的元素可以重复。

正确的字典创建方式

dict1 = {}
print(dict1) # 输出: {}
dict1 = {'name': 'zhl', 'age': 21, 'sex': 'male'}
print(dict1) # 输出: {'name': 'zhl', 'age': 21, 'sex': 'male'}

可能存在的问题

如果键名重复,只有最后一个会被保留:

x4 = {'name': 'zhl', 'age': 21, 'name': 'wh'}
print(x4) # 输出: {'name': 'wh', 'age': 21}

同样,键不能是可变类型,例如列表:

x5 = {[10, 20]: 'zhl'}
print(x5) # 输出: TypeError: unhashable type: 'list'

3. 字典操作

字典支持增、删、改、查四种基本操作。

修改操作

修改或添加键值对:

x = {'name': 'zhl', 'age': 21, 'sex': 'male'}
x['age'] = 100 # 修改键值对
print(x) # 输出: {'name': 'zhl', 'age': 100, 'sex': 'male'}
x['aihao'] = 'youyong'
print(x) # 输出: {'name': 'zhl', 'age': 100, 'sex': 'male', 'aihao': 'youyong'}

检查键是否存在:

print('name' in x)          # 输出: True
print('name' not in x) # 输出: False
print('name' in x.keys()) # 输出: True
print('name' in x.values()) # 输出: False

删除操作

删除键值对:

x = {'name': 'zhl', 'age': 21, 'sex': 'male'}
del x['name']
print(x) # 输出: {'age': 21, 'sex': 'male'}

4. 常用API

清空字典

使用 clear 方法:

dict1 = {'name': '张三', 'age': 18, 'sex': '男'}
dict1.clear()
print(dict1) # 输出: {}

复制字典

使用 copy 方法:

dict1 = {'name': '张三', 'age': 18, 'sex': '男'}
dict2 = dict1.copy()
print(dict2) # 输出: {'name': '张三', 'age': 18, 'sex': '男'}

获取键值对

使用 get 方法:

d2 = dict1.get('name', None)
print(d2) # 输出: '张三'

获取所有键值对

使用 items 方法:

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

获取所有键

使用 keys 方法:

print(dict1.keys())  # 输出: dict_keys(['name', 'age', 'sex'])

更新字典

使用 update 方法:

dict2 = {'name': '李四', 'age': 16}
dict1.update(dict2)
print(dict1) # 输出: {'name': '李四', 'age': 16, 'sex': '男'}

删除键值对

使用 pop 方法:

n = dict1.pop('name')
print(n) # 输出: '李四'
print(dict1) # 输出: {'age': 16, 'sex': '男'}

转载地址:http://foofk.baihongyu.com/

你可能感兴趣的文章
python 如何把字符串转换成浮点数
查看>>
python 如果文件夹不存在就创建文件夹
查看>>
Python 如果有很多或以收缩形式
查看>>
Python 子进程 Popen 与 Pyinstaller
查看>>
Python 子进程 Popen.communicate() 等价于 Popen.stdout.read()?
查看>>
Python 子进程 Popen:为什么会出现“ls *.txt“?不行?
查看>>
Python 子进程参数
查看>>
python 字典 key 和value 互换
查看>>
Python 字典 vs If 语句速度
查看>>
python 字典sorted自定义排序,按照key or value排序
查看>>
python 字典和列表区别_元组列表和字典的主要区别是什么?
查看>>
python 字符串中特定字符替换,截取
查看>>
Python 字符串总结
查看>>
python 字符串显示中文_Python字符串开头的b"、u"、r"与中文乱码
查看>>
Python 字符串的几种拼装方式
查看>>
python 存入数据库bigint_python基础_MySQL的bigint类型
查看>>
python 学习 面向对象编程
查看>>
Python 学习小结
查看>>
Python 学习日记第三篇 -- 字典
查看>>
Python 学习笔记(一)Data type
查看>>