python中的dict

寵の児 提交于 2019-12-06 02:49:23

dict 字典,它是无序的,不可重复的,可变的存储键值对的容器类型

1.dict的定义

# 创建一个dict 直接创建赋值用`{}`括起来的键值对,key不能是列表
dic = {"name":"小明", "age":18,"sex", "男",("k1","k2"):"value"}
# 使用 fromkeys()静态方法创建 
# 创建字典 fromkeys() 传递两个参数 第一个key 第二个value key是可遍历的参数对象 value无论传递进来的是什么类型 会被当做一个整体
info = dict.fromkeys({"key1", "key2", "key3", "key4"}, "value")

2.获取dict中的元素

# 因为字典是无序的,所以不能根据索引和切片来获取
# 根据key来获取 当key不存在时 程序会报错
dic ={"name":"小明", "age":18,"sex", "男",("k1","k2"):"value"}name = dic["name"] # 使用字典中的方法 get()来获取,key不存在时不会报错,返回None,若自定义值则返回自定义的值 name = dic.get("name") # 返回None course = dic.get("course") # 返回 null course = dic.get("course","null")

3.字典元素的修改和删除

# 直接修改 若不存在该key 则会创建一个新的key-value
dic = {"name":"小明", "age":18,"sex", "男",("k1","k2"):"value"}
# 把小明改成小红
dic["name"] = "小红"
# 创建了新的键值对
dic["key"] = "value"
# 如果key不存在,设置key 和value 并返回value 如果key存在则返回原来的value 且不改变原来的key的value
v = dic.setdefault("name2", "yang")
# 更新 传入的是字典的参数类型,若key不存在则是新增 若key存在则是修改他的值
dic.update({"name": "小明", "password": "123456"})

# del 根据key删除 
del dic["sex"]

# pop() 根据 key删除
dic.pop["name"]
# 若key不存在 程序报错
dic.pop["kk"]
# 若key不存在 返回自定义参数null,若存在返回其value值
result = dic.pop["kk","null"]
#popitem()  返回并删除字典中的最后一对键和值 返回的是一个key-value的元组 若字典为空则程序报错
dic.popitem()

# 清空字典
dic.clear()

 

4.字典的遍历

# 字典不能使用while来遍历,因为他是无序的
# 使用for遍历 每次遍历的顺序都是不确定的
dic = {"name":"小明", "age":18,"sex", "男",("k1","k2"):"value"}
# 遍历的是key
for item in dic:
    print(item)
#遍历的是key
for k in dic.keys():
    print(k)
# 遍历的是value
for v in dic.values():
    print(v)
#遍历的是键值对
for k,v in dic.items():
    print(k,v)

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!