Python Dict字典

字典概念

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值对key:value 用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
特点:键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

字典创建

cars = {} # 空字典
cars = dict() # 空字典
cars = {"num1":"京A0988","num2":"京B3467","num3":"京F8212"} # 非空字典
scores = {"mix":[99, 87, 60, "0分", 0.99, True] }# 字典可以存放混合类型

字典的访问

# 方法1.字典 使用 key 键 去访问 对应的value值
# 格式 dict[key]  若没有key 则报错
cars["num1"] > "京A0988"
# 方法2. dict.get(key) # 若key 不存在不报错
cars.get("num4", "不存在') >  # 不存在 返回 默认值



字典内置函数

cars = {"num1":"京A0988","num2":"京B3467","num3":"京F8212"}

1.增与改
# 增加与删除的方法一样都是一种格式,没有函数,若不存在key则增加,若存在,则修改。
>>cars["num4"] = "京A1234" # 在字典增加一对key-value
res: cars = {"num1":"京A0988","num2":"京B3467","num3":"京F8212","num4":""京A1234""}

2.删
>>pop(key) # 根据key删除键值对 并返回 value值
cars.pop("京B3467")

>>popitem() # 不用传参,随机删除一组键值对,并返回删除的键值对(元组形式返回),若为空字典,则删除报错
cars.popitem() 


>>clear() # 清空内容,不回收地址,空字典。
cars.clear()
res:{} 
>>del dict[key] # 根据key 删除键值对 与  pop 类似
del cars["num1"]

>>del dict #  清空内容  回收内存  删除cars
del cars


5.使用迭代对象快速构建字典
>>dict.fromkeys() # 对可迭代对象,进行 字典构建 值 默认None 
dict.fromkeys(["1", "2"], 100)
res: {"1": 100, "2":100}

6.取值
>>cars.keys()    # 返回 字典的所有key

>>cars.values()    # 返回字典的所有value

>>cars.items() # 以元组方式 返回 每个键值对。
for key, value in cars.items():#常用方法对字典进行遍历
    print(key, value)   

8.计数
>>cars.count("京A0988")
返回列表中"京A0988"元素的个数

字典支持的符号

key in dict  判断key是否在字典中 

is 判断两个字典是否id相等

类型转换

1.列表转字典
list1 = [("a", 100), ("b", 20), ("c", 80)]
>>dict(list1)  # 只有符合这样格式的列表才能转为字典
2.字典转列表
>>list(dict1)   # 只是将keys 放到列表中

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 12,103评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 8,708评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 9,063评论 0 2
  • 晴天,拥抱阳光,拥抱你。雨天,想念雨滴,想念你。 我可以喜欢你吗可以啊 我还可以喜欢你吗可以,可是你要知道我们不可...
    露薇霜凝阅读 4,990评论 1 2