武汉13期吴德军 发表于 2022-4-23 20:14:07

python集合

元组元组定义:()小括号类型:tuple元组是不可变的(定义好元组后不能够直接去修改元组中的元素)t=()#定义一个空元组print(type(t))#<class 'tuple'>#如果元组中的元素只有1个的时候,一定要在后面加上一个逗号,如果不加原始元素是什么类型它就是什么类型t1=(1)print(type(t1))#<class 'int'>t1=(1,)#在元素后加逗号print(type(t1))#<class 'tuple'>不能直接进行增删改t =(1,2,3,4,5,6)#定义元组print(type(t))t.popprint(t)#抛异常#往元组中添加元素t =(1,2,3,4,5,6)#定义元组print(type(t))#<class 'tuple'>t1=list(t)#通过list把元组转换为列表print(type(t1))#<class 'list'>print(t1)#t1.append(7)#往列表中插入元素print(t1)#t2=tuple(t1)#把列表转换为元组print(type(t2))#<class 'tuple'>print(t2)#(1, 2, 3, 4, 5, 6, 7)#字符串转元组s="hello"t1=tuple(s)print(t1)#元组转字符串t =(1,2,3,4,5,6)#定义元组s1=t.__str__()print(type(s1))#<class 'str'>print(s1)列表和元组的区别?1.类型不同 list、tuple2.定义不同 列表通过[]定义,元组通过()定义3.列表定义后是可以随意的增删改(元素不受保护)4.元组定义后是不可以随意的增删改(元素受保护)元组也是支持切片操作t =(1,2,3,4,5,6)#定义元组print(t)#5字典字典定义:{}花括号(大括号)类型:dict字典中:键值对 键是唯一,值可以不唯一键值对用冒号分割;"name":"zhangsan"多个键值对用逗号分隔d={}#定义空字典print(type(d))#<class 'dict'>d={'name':"zhangsan"}#定义一个字典,里面有一个键值对print(d)d1={'name':''}#如果字典中没有值一定要加引号,否则会抛异常print(d1)d2={'name':"zhangsan",'age':18}#多个键值对用逗号分隔print(d2)t=('a',1)#定义元组print(type(t))#<class 'tuple'>d=dict(t)#转换为字典print(type(d))print(d)#在单个元组的情况下转换字典失败t1=[('a',1)]#定义列表print(type(t1))#<class 'list'>d1=dict(t1)#转换为字典print(type(d1))#<class 'dict'>print(d1)#{'a': 1}d={'name':'zhangsan','age':18}#定义一个字典d['score']=100 #设置一个键值对#原字典中没有相同的键,则会键值添加到字典中print(d)#{'name': 'zhangsan', 'age': 18, 'score': 100}d1={'name': 'zhangsan', 'age': 18, 'score': 100}d1['score']=98 #设置一个键值对#原字典中有此键,会执行替换print(d1)#{'name': 'zhangsan', 'age': 18, 'score': 98}#键 keysd1={'name': 'zhangsan', 'age': 18, 'score': 100}#定义一个字典key=d1.keys()#取出当前字典中的所有键print(key)#dict_keys(['name', 'age', 'score'])#值valuesd1={'name': 'zhangsan', 'age': 18, 'score': 100}#定义一个字典value=d1.values()#取出当前字典中的所有值print(value)#dict_values(['zhangsan', 18, 100])#取指定键的值d1={'name': 'zhangsan', 'age': 18, 'score': 100}#定义一个字典vale=d1['name']#获取name这个键对应的值print(vale)#zhangsan#设置键值对注:此方法执行后会进行判断,如果发现字典中没有此键则会把键值对设置到字典中;如果原字典中有此键则不会执行替换d1={'name': 'zhangsan', 'age': 18,}#定义一个字典d1.setdefault("score",100)#添加键值对print(d1)#{'name': 'zhangsan', 'age': 18, 'score': 100}d2={'name': 'zhangsan', 'age': 18, 'score': 100}d2.setdefault("score",98)#添加键值对print(d2)#{'name': 'zhangsan', 'age': 18, 'score': 100}#删除字典# d2={'name': 'zhangsan', 'age': 18, 'score': 100}# del d2#删除整个字典# print(d2)#抛异常,因为字典已被删除#删除指定键及值d3={'name': 'zhangsan', 'age': 18, 'score': 100}del d3['score']#删除键和对应的值,返回剩余的键值对print(d3)#{'name': 'zhangsan', 'age': 18}字典遍历: for 变量名 in 字典名当前变量获取到的值为键,值不显示d3={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典for i in d3:    print(i)#name age score        #获取键值对d3={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典for i in d3:    print(i,d3)#通过items 函数实现变量获取键值对d3={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典for k,v in d3.items():    print(k,v)#删除键返回对应键的值d3={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典d4=d3.pop("score")#删除score这个键,返回对应的值print(d4)#清空d5={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典d5.clear()#清空当前字典中的所有键值对print(d5)#{}#获取指定键的值#如果没有指定的键则返回noned6={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典a=d6.get("name")#获取name这个键对应的值print(a)#zhangsanprint(d6.get("name"))#zhangsanprint(d6.get("a"))#None#给键指定值d6={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典#不指定值print({}.fromkeys(["name","age"]))#{'name': None, 'age': None}#指定值print({}.fromkeys(["name","age"],'duoceshi'))#{'name': 'duoceshi', 'age': 'duoceshi'}python2: has_key 函数检查字典是否有指定的键存在python3:__contains__ 函数检查字典是否有指定的键存在有存在返回True,反之返回Falsed6={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典print(d6.__contains__('name'))#Trueprint(d6.__contains__('na'))#False删除字典中的键值对,并返回删除的数据(默认删除末尾)d6={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典print(d6.popitem())#('score', 100)print(d6.popitem())#('age', 18)更新把两个字典拼接形成新的字典d6={'name': 'zhangsan', 'age': 18}#定义字典d7={'score': 100}#定义字典d6.update(d7)print(d6)#{'name': 'zhangsan', 'age': 18, 'score': 100}#存在相同的键,则执行替换d8={'name': 'zhangsan', 'age': 18, 'score': 100}#定义字典d9={'score': 99}#定义字典d8.update(d9)print(d8)#{'name': 'zhangsan', 'age': 18, 'score': 99}把两个列表设置为字典a=['a','b','c']#定义列表c=#定义列表l=zip(a,c)#把两个列表拼接形成多个元组,索引值相同的为一个整体如('a',1)d=dict(l)#转换为字典print(d)#{'a': 1, 'b': 2, 'c': 3}print(type(d))#<class 'dict'>集合没有切片操作可变集合:set不可变集合:frozenset区别:相同点都能够去重不同点:可变集合去重后可以实现增删改不可变集合去重后不可以进行增删改#可变集合l=#定义一个列表a=set(l)#可变集合去重print(a)#{1, 2, 3, 4}a.add("xiaoliu")#添加字符串print(a)#{1, 2, 3, 4, 'xiaoliu'}#不可变集合l=#定义一个列表a1=frozenset(l)#不可变集合去重print(a1)#frozenset({1, 2, 3, 4})a1.add#无法调用
页: [1]
查看完整版本: python集合