字典与集合的用法

Posted fu-1111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典与集合的用法相关的知识,希望对你有一定的参考价值。

1. 什么是字典

  字典是以key:value的形式来保存数据

  用{}表示. 存储的是key:value

2. 字典的增删改查

  1. 添加

  dic[新key] = 值

  setdefault()

dic = {"美国":"美国往事","中国":"李云龙"}
dic["印度"] = "三傻大闹宝莱坞"
print(dic)
dic["韩国"] = "釜山行"
print(dic)
dic.setdefault("韩国","奸臣")
print(dic)
dic.setdefault("英国","奸臣")
print(dic)

 

  2. 删除

  pop(key)

dic = {"张艺谋":"红高粱","陈凯歌":"霸王别姬","吴京":"战狼","李安":"断背山"}
dic.pop("吴京")
print(dic)
dic.popitem()
print(dic)
del dic["张艺谋"]
print(dic)
dic.clear()
print(dic)

 

  3. 修改

  dic[老key] = 值

  update() 更新字典

dic = {"赵四": "刘晓光", "刘能": "王小利", "王木生": "范伟"}
print(dic["刘能"])
print(dic.get("大脚", "没有这个人"))
ret = dic.setdefault("皮校长", "皮长山")
print(ret)
ret = dic.setdefault("王木生", "皮长山")
print(ret)

dic1 = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
dic2 = {"赵四":"宝宝", "刘能":"萌萌", "皮校长":"皮长山"}
dic1.update(dic2)
print(dic1)
print(dic2)

 

  4. 查询

  dic[key]

  get(key, 值)

  setdefault()

  第一个功能是添加(当key不存在).

  第二个功能是查询(根据你给的key查询)

    整个执行流程: 判断给的key是否存在. 如果存在. 就不执行新增流程.直接查询出这个key对应的value如果key不存在. 先执行新增操作. 再使用key把对应的value查询出来

  setdefault(key, value)

dic1 = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
print(dic1["赵四四"]) # KeyError: ‘赵四四‘ key不存在

print(dic1.get("刘能能"))  # None 当key不存在返回None
print(dic1.get("刘能能", "没有这个人")) # 当key不存在. 返回第二个参数. 默认第二个参数是None

ret = dic1.setdefault("皮长山", "皮校长")
print(ret) # 皮校长

 

  5. 遍历,字典是一个可迭代对象

3. 字典的相关操作

  1. keys() 获取到所有的键

dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
for key in dic.keys(): 
    print(key)

 

  2. values() 获取到所有的值

dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
for value in dic.values():
    print(value)

 

  3. items() 拿到所有的键值对

dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
for k, v in dic.items():
     print(k)
     print(v)

 

4. 字典的嵌套

  字典的嵌套. 字典套字典

  

wf = {
    "name":"汪峰",
    "age":52,
    "hobby":["唱歌", "上头条", "穿皮裤"],
    "wife": {
        "name": "章子怡",
        "age": 49,
        "hobby":["演戏", "上电视", "当导师"],
        "tishen": {
            "name":"萌萌",
            "age":28
        }
    }
}
print(wf["wife"]["tishen"]["name"])

 

5. 集合

  集合中的元素是不重复的. 必须是可hash的(不可变), 字典中的key

lst = ["麻将", "骰子", "扑克", "骰子", "扑克"]
s = set(lst)
print(s)  #麻将, 骰子, 扑克

  set()是去重最简单的方法

  空集合:set()

  空元组:tuple()

  空列表:list()

  非空集合: {123}集合, 集合其实就是不存value的字典

以上是关于字典与集合的用法的主要内容,如果未能解决你的问题,请参考以下文章

字典和集合的常用用法

Python中字典和集合的用法

列表元祖字典集合,用法总结

python-列表list- 元组(tuple)- 集合(set)-字典(dict)-实例代码

OC_YYModel字典转模型的几种详细用法

python中for循环的用法