字典与集合的用法

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的字典

原文地址:https://www.cnblogs.com/fu-1111/p/10046618.html

时间: 2024-11-06 21:29:07

字典与集合的用法的相关文章

字典、集合的用法

// NSDictionary NSDictionary *dictionary = [[ NSDictionaryalloc]initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2",  @"v3", @"k3", @"vc9", @"ko0",@"M",@&q

Python中字典和集合的用法

本人开始学习python 希望能够慢慢的记录下去 写下来只是为了害怕自己忘记. python中的字典和其他语言一样 也是key-value的形式  利用空间换时间 可以进行快速的查找 key 是唯一的 不可变的类型 比如 str int 等  不能是list之类的可变类型 1.定义 定义一个字典 格式{key:value,key:value} a = {'a':80,'b':90,1:'a',2:[1,2]} print(a) 如果是定义如下 a = {'a':90,[1,2,3]:10} 则会

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

1.列表: 1> 增加:append() :追加单个元素,或者列表 extend():扩展 insert(索引,插入的数据) :插入,在指定位置插入一个指定元素,原来的元素向后顺延 2>删除:pop():弹出,移除指定列表指定下标的元素,若不指定索引值默认移除最后一个元素 remove():移除指定的元素,从左往右检测,只移除匹配到的第一个元素 clear() :清空列表 3>修改:reverse() :反转 sort() :排序,默认为程序,若要降序,可以先升序,在反转,或者将reve

基本数据类型(字符串_数字_列表_元祖_字典_集合)

基本数据类型(字符串_数字_列表_元祖_字典_集合) 1.字符串 2.数字 除了布尔类型外,int.long.float和complex都可以使用的运算为:加.减.乘.除.整除.幂运算和取余 3.列表和元组 列表的内容可变,可以包含任意对象,使用中括号表示.元组的内容不可变,可以包含任意对象,使用圆括号表示.元组 1 l = [1, 2, 3, '4', '5'] # 列表 2 l = list((1, 2, 3, '4', '5')) 3 4 t = (1, 2, 3, '4', '5') #

Python黑帽编程2.3 字符串、列表、元组、字典和集合

Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询.排序等操作,本节介绍的Python内置的数据结构可以满足大多数情况下的需求.这一部分的知识点比较多,而且较为零散,需要认真学习. 2.3.1  字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1

学习日志---python(列表解析、生成器、字典和集合)

产生列表可以用range(); 列表解析 对一个序列进行解析生成新的列表:列表解析比for的性能好很多: a=[x for x in range(0,10) if x > 5] print a a=[x+1 for x in range(0,10) if x > 5] print a 利用列表中的表达式可以得出所需的列表,无需在用for循环得到: 双重嵌套:用更简便的语句得出里列表: a=[(x,y) for x in range(3) for y in range(3)] print a 解

Python基础2 列表、字典、集合

本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 >>> names[0] 'Alex' >>> names[2] 'Eric' >>> names[-1] 'Eric'

python进阶学习chapter02(列表、字典、集合操作)

如何在列表.字典.集合中筛选数据 列表(元组)的重命名 词频统计的实现 字典的排序 寻找多个字典的公共键 如何让字典保持有序 如何保持历史纪录(使用deque队列) 一.如何在列表.字典.集合中筛选数据 问题引入: 列表:[-10,2,2,3,-2,7,6,9] 找出所有的非负数 字典:{1:90,2:55,3:87...} 找出所有值大于60的键值对 集合:{2,3,8,6,7,5} 找出所有被3整除的数 列表: #方法一,迭代 data=[1,5,-4,-6,0,7,9] res=[] fo

2.列表字符串字典元组集合

list: 增:list.append("str") 追加str到list最后 插入:list.insert(num,"str") 在list的num位置插入str 修改:list[num] = "str" 把list的第num位置改为str 把另一个列表元素添加进来: list.extend(list2) #list = [list[0],list[1],...list[-1],list2[0],list2[1]] 删: (1)list.rem