一: 字典
- 1: 字典和列表一样, 能够存储多个数据
- 2: 列表根据下标对元素处理, 但是字典是根据"key"键值对处理
- 3: 字典是以键值对的方式处理
#######1.1: 字典访问
########1.1.1: 字典根据 键(Key) 来获取 值(Value)操作
info = {"name":"班长", "id":100, "sex":"male"}
print(info["name"])
print(info["id"])
print(info["sex"])
Success!
班长
100
male
########1.1.2: 如果字典中 没有相应的Key
info = {"name":"班长", "id":100, "sex":"male"}
print(info["name"])
print(info["sexs"])
Error!
班长
Traceback (most recent call last):
File "4.py", line 6, in <module>
print(info["sexs"])
KeyError: 'sexs'
########1.1.3: 在我们不确定字典中是否存在某个键但是想获取取值时,可以使用get方法, 还可以设置默认值:
info = {"name":"班长", "id":100, "sex":"male"}
age = info.get("age")
print(type(age)) #如果age不存在 所以age为none
age = info.get("age", 19)
print(age)
<type 'NoneType'>
19
#######1.2: 修改元素
字典的每个元素的数据都可以修改, 只要通过key找到, 就可以修改
根据字典的key修改数据
info = {"name":"班长", "id":100, "sex":"male"}
info["name"] = 123
print(info["name"])
123
#######1.3: 添加元素
<a:> 访问不存在的元素, 默认方法会崩溃
info = {"name":"班长", "id":100, "sex":"male"}
print(info["age"])
Traceback (most recent call last):
File "4.py", line 4, in <module>
print(info["age"])
KeyError: 'age'
<b:> 如果使用 **变量名[键
] = 数据
时, 这个键在字典中, 存在就修改, 不存在就增加这个元素
info = {"name":"up_tech", "id":100, "sex":"male"}
info["age"] = 12
print(info)
{'age': 12, 'sex': 'male', 'name': 'up_tech', 'id': 100}
#######1.4: 删除元素
- 1: del 删除指定的元素
- 2: clear()
<a:> del删除字典某个元素
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info)
del info["name"]
print(info)
{'age': '18', 'name': 'zhu', 'sex': 'male'}
{'age': '18', 'sex': 'male'}
<b:> del删除字典多个元素
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info)
del info["name"], info["age"]
print(info)
{'age': '18', 'name': 'zhu', 'sex': 'male'}
{'sex': 'male'}
<c:> clear清空整个字典
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info)
info.clear()
print(info)
{'age': '18', 'name': 'zhu', 'sex': 'male'}
{}
#######1.5: 字典的常见操作
#########1.5.1: 字典的键值对的个数
info = {"name":"zhu", "age":"18", "sex":"male"}
print(len(info))
3
#########1.5.2: 返回一个包含字典所有Key的列表
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.keys())
['age', 'name', 'sex']
#########1.5.3: 返回一个包含字典所有Value的列表
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.values())
['18', 'zhu', 'male']
#########1.5.4: 返回一个包含所有(键, 值) 元组的列表
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.items())
[('age', '18'), ('name', 'zhu'), ('sex', 'male')]
#########1.5.5: has_key("key"), 如果key在字典中,返回True, 否则返回False
info = {"name":"zhu", "age":"18", "sex":"male"}
print(info.has_key("name"))
print(info.has_key("namex"))
True
False
#######1.6: 字典的遍历
通过for...in.. 的语法结构, 我们可以遍历字符串, 列表, 元组, 字典d等
#########1.6.1: 遍历字典的key(键)
<a: 方法一>
info = {"name":"zhu", "age":"18", "sex":"male"}
for key in info:
print(key)
age
name
sex
<b: 方法二>
info = {"name":"zhu", "age":"18", "sex":"male"}
for key in info.keys():
print(key)
age
name
sex
#########1.6.2: 遍历字典的value(值)
info = {"name":"zhu", "age":"18", "sex":"male"}
for value in info.values():
print(value)
18
zhu
male
#########1.6.3: 遍历字典的项(元素)
<a: 遍历字典的项(元素) 方法一>
info = {"name":"zhu", "age":"18", "sex":"male"}
for item in info.items():
print(item)
('age', '18')
('name', 'zhu')
('sex', 'male')
<b: 遍历字典的项(元素) 方法二>
info = {"name":"zhu", "age":"18", "sex":"male"}
for key,value in info.items():
print(key, value)
('age', '18')
('name', 'zhu')
('sex', 'male')
<c: 遍历字典的项(元素) 方法三>
info = {"name":"zhu", "age":"18", "sex":"male"}
for (index, key) in enumerate(info):
print(index, key, info[key])
(0, 'age', '18')
(1, 'name', 'zhu')
(2, 'sex', 'male')
网友评论