1.字典的定义
- 字典是无序对象的集合
- 字典用
{ }
定义 - 字典使用键值对存储数据,键值对之间使用
,
逗号分隔- 键
key
是索引 - 值
value
是数据 - 键和值之间使用
:
分隔 - 键必须是唯一的
- 值可以取任何数据类型,但键只能使用字符串、数字或元组
- 键
xiaoming = {"name":"小明",
"age":18,
"gender":True,
"height":1.75}
2.字典常用的操作
序号 | 分类 | 关键字/函数/方法 | 说明 |
---|---|---|---|
1 | 统计 | len(字典) | 获取字典键值对的数量 |
字典.keys() | 所有 key 列表 | ||
字典.values() | 所有 value 列表 | ||
字典.items() | 所有(key,value)元组列表 | ||
2 | 取值 | 字典[key] | 可以从字典中取值,key不存在会报错 |
字典.get(key) | 可以从字典中取值,key不存在不会报错 | ||
3 | 删除 | del字典[key] | 删除指定键值对,key不存在会报错 |
字典.pop()key | 删除指定键值对,key不存在会报错 | ||
字典.popitem() | 随即删除一个键值对 | ||
字典.clear() | 清空字典 | ||
4 | 增加/修改 | 字典[key] = value | 如果key存在,修改数据;如果key不存在,增加键值对 |
字典.setdefault(key,value) | 如果key存在,不会修改数据;如果key不存在,新建键值对 | ||
字典.update(字典2) | 将字典2的数据合并到字典1 |
3.循环遍历
#for 循环内部使用的key的变量 in 字典
#下面的k就是每一次循环中获取到的键值对的key
for k in xiaoming:
#循环内部针对字典变量进行操作
print("%s:%s" % (k,xiaoming[k]))
4.字典和列表组合应用
card_list = [
{"name":"张三",
"qq":"12345",
"phone":"10010"}
{"name":"李四",
"qq":"54321",
"phone":"10086"}
]
for card_info in card_list:
print(card_info)
虽然字典的输出是无序的,但是将其放在列表里遍历输出时每次输出的数据是整齐的,例如:
{'phone':'10010','name':'张三','qq':'12345'}
{'phone':'10086','name':'李四','qq':'54321'}