标签:val 元组 列表 print tde 操作 没有 不重复 麻将
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的字典
标签:val 元组 列表 print tde 操作 没有 不重复 麻将
原文地址:https://www.cnblogs.com/fu-1111/p/10046618.html