字典和结构化数据

字典

  • 简单来说 字典类似对象。字典是一系列 键值对,每个键都对应一个值

  • 例如


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"
   }
 }

文章作者: 雾烟云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 雾烟云 !
  目录