码迷,mamicode.com
首页 > 其他好文 > 详细

字典与集合的用法

时间:2018-11-30 21:44:50      阅读:241      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!