Python字典,妈妈再也不会担心我不会Python了(十)

345 阅读2分钟

字典

  • 由键值对组成的数据格式就是字典。比如:身份证
    image
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}

字典常用操作

  • 打印值
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
print(card["name"])
print(card["age"])
print(card["address"])

上述代码运行结果:

上述代码运行结果

  • 添加元素
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#添加元素 如果key存在则修改,不存在则添加
card["sex"] = "男"#sex键不存在,添加
card["age"] = 34#age键存在,修改
print(card)

'''
card.setdefault("sex","女")#键存在,不会修改
card.setdefault("edu","博士")#键不存在,添加
'''

上述代码运行结果:

上述代码运行结果

  • 删除元素
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#pop()删除元素
card.pop("name")#把键为name的键值对删除
print(card)

上述代码运行结果:

上述代码运行结果

  • 修改元素
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#修改元素
card["name"] = "小明"
print(card)

上述代码运行结果:

上述代码运行结果

  • 查找元素
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
print(card["name"])
print(card["age"])
print(card["address"])
#print(card["sex"])#键不存在报错

print(card.get("name"))
print(card.get("age"))
print(card.get("address"))
print(card.get("sex"))#键不存在不报错 返回None

上述代码运行结果:

上述代码运行结果

  • 打印所有键
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#打印所有键 python3中返回的是迭代器,通过list()转成列表
print(list(card.keys()))

上述代码运行结果:

上述代码运行结果

  • 打印所有值
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#打印所有值 python3中返回的是迭代器,通过list()转成列表
print(list(card.values()))

上述代码运行结果:

上述代码运行结果:

  • 打印所有键值对
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#打印所有键值对 python3中返回的是迭代器,通过list()转成列表
print(list(card.items()))

上述代码运行结果:

上述代码运行结果

  • 清空
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}
#清空字典
card.clear()
print(card)

上述代码运行结果:

上述代码运行结果

遍历

  • 根据键遍历
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}

#根据键遍历
for i in card.keys():
    print(card[i])#根据键取值

上述代码运行结果:

上述代码运行结果

  • 根据值遍历
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}

#根据值遍历
for i in card.values():
    print(i)#直接打印值
  • 根据键值对遍历
#字典的定义
card = {"name":"韦小宝","age":33,"address":"北京市长安街"}

#根据键值对遍历
for i in card.items():
    print(i)#返回一个键值对的元组
    print(i[0])#取元组第一个值
    print(i[1])#取元组第二个值

'''
用两个变量可以直接接受元组
for k,v in card.items():
    print(k)#打印键
    print(v)#打印值
'''

上述代码运行结果:

上述代码运行结果
欢迎关注