Python 基础(六) ——— 字典
阅读一本好书如同和过去最杰出的人谈话。——笛卡儿
字典
简单来说 字典类似对象。字典是一系列 键值对,每个键都对应一个值
例如
alien = {"color":"green","points":5}
print(alien["color"])
# 结果
green
访问字典中的值
- 通过[‘属性名’]
alien = {"color":"green","points":5}
print(alien["color"])
# 结果
green
添加键值对
- 可以通过属性:值 来添加
alien = {"color": "green", "points": 5}
alien["name"] = "颜色"
print(alien)
# 结果
{'color': 'green', 'points': 5, 'name': '颜色'}
添加一个空字典
- 可以用一个{}表示字典
alien = {}
alien["color"] = "red"
print(alien)
#结果
{'color': 'red'}
修改字典中的值
alien = {"color": "green"}
print("The alien is " + alien["color"]+".")
#结果
The alien is green.
删除字典中值 del
alien = {"color": "green", "name": "姓名"}
del alien["name"]
print(alien)
# 结果
{'color': 'green'}
get 方法就是当取不到值的时候 返回备用值
arrobj = {"color": "red"}
print(arrobj.get("color", "有值"))
print(arrobj.get("name", "名字"))
# 结果
# red
# 名字
setdefault()设置默认值
- 第一个参数 就是要检查的键。第二个键就是该键不存在的时候,要设置的值
arrobj = {}
arrobj.setdefault("color", "red")
print(arrobj)
arrobj2 = {"color": "green"}
arrobj2.setdefault("color", "blue")
print(arrobj2)
# 结果
# {'color': 'red'} 第一次是没有属性,所以起作用
# {'color': 'green'} 第二次是有属性 所以不起作用
遍历字典
通过 for in 循环来做
必须有:
循环的要是列表 必须要有 xxx.items()
alien = {"color": "green", "name": "姓名"}
for content in alien.items():
print(content)
# 结果
('color', 'green')
('name', '姓名')
- 要是想获取到里面值可以这样
alien = {"color": "green", "name": "姓名"}
for key, val in alien.items():
if key == "color":
print(val)
# 结果
green
遍历字典里面所有的键
- 方法同上 就是把 xxx.items() 变成 xxx.keys()
alien = {"color": "green", "name": "姓名"}
for name in alien.keys():
print(name)
# 结果
color
name
- 按照顺序遍历字典中所有的键,sorted 排序
alien = {"color": "green", "name": "姓名", "alien": "开始"}
for name in sorted(alien.keys()):
print(name)
# 结果
alien
color
name
遍历字典中所有的值
- 方法同上 就是把 xxx.items()变成 xx.values()
alien = {"color": "green", "name": "姓名", "alien": "开始"}
for content in alien.values():
print(content)
#结果
green
姓名
开始
字典嵌套
- 字典里嵌套字典
alien = {"color": "green", "name": "姓名", "alien": "开始"}
alien2 = {"color": "red", "name": "姓名", "alien": "开始"}
alien3 = {"color": "blue", "name": "姓名", "alien": "开始"}
aliens = [alien, alien2, alien3]
for alien in aliens:
print(alien)
# 最后结果
{'color': 'green', 'name': '姓名', 'alien': '开始'}
{'color': 'red', 'name': '姓名', 'alien': '开始'}
{'color': 'blue', 'name': '姓名', 'alien': '开始'}
- 创建 10 个对象组合
alien = {"color": "green", "name": "姓名", "alien": "开始"}
aliens = []
for index in range(0, 10):
aliens.append(alien)
print(aliens)
# 结果
[
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'},
{'color': 'green', 'name': '姓名', 'alien': '开始'}
]
- 字典里嵌套列表
person = {
name:"张三",
aihao:["篮球","足球","橄榄球"]
}
- 字典里面嵌套字典
person = {
name:"张三",
aihao:{
name:"足球",
score:"80"
}
}