python字典与集合 基础操作

Python字典*
字典是一个无序的额,可以修改的,元素呈键值对的形式,以逗号分隔的额,以大括号包围的的序列:
字典是python基础数据类型当中唯一一个映射关系的数据类型:
‘“
字典的格式
Key:value 键值对
变量名={key1:value1,key2:velue2…}
注意:1,使用的符号都是英文表示】
key必须是不可变数据类型
”’
一.字典的定义
dic={‘name’=’zs’,’age’:32,’height’:1.65}
print(dic)
Print(type(dic))#《class dict》 #注意定义变量的时候,不能定义成dict
字典的key的类型只能是不可变数据类型(可哈希类型), value可以是任意
数据类型
Dic={‘name’:’zs’,10:32,(1,2,3):(2,3,4)}
Print(dic)
Dic={‘name’:’zs’,10:32,(1,2,3):(2,3,4)}
Print(dic)#报错
‘“
可变数据类型(不可哈希数据类型)
不可变数据类型(可哈希数据类型)
”’
字典的增删改查
字字典的增加操作
dic={‘name’:‘zs’,10:32,(1,2,3):(2,3,4)}
#Dic.setedfaule(‘weight’,170)>会增加到字典里
#Dic.setedfault(‘weight’,180)
>如果键在字典中已经存在了,就不会覆盖字典中的值。
Dic[‘’weight’’]=180 # 根据可以来设置值
Dic[‘weight’]=120 # 如果key存在,就直接覆盖掉原有的值
Print(dic)>如果没有键 就增加键,如果有键,就覆盖。
删除操作
dic={‘name’:‘zs’,10:32,(1,2,3):(2,3,4)}
#dic.pop(‘name’)#根据键删除值
#Dic.popitem()#随机删除一个键值对
#Dic.class()#清除字典中的所有值
Del.dic#
>直接从内存中删除变量,效果就是报错。
Del dic[‘name’]#根据键删除值
Print(dic)
##修改操作
dic={‘name’:‘zs’,10:32,(1,2,3):(2,3,4)}
根据键来修改值
#dice[‘name’]=’赵四’
Dic{‘name’:’赵四’,‘heighut’:1.750}
#undate(i),需要传递一个字典,如果key相同就直接修改对应的value
如果不存在,就直接添加键值对。
Dic.update(dic1)
Print(dic)
##查找操作
dic={‘name’:‘zs’,10:32,(1,2,3):(2,3,4)}
#Value=dic.get(‘name’)#根据键获取对应的值我们可以定义一个变量来就是返回的值
Print(value)
Ret=dic.keys()=>获取所有的值
Print(ret)
Values=dic.values() #获取所有的值
Print(values)
=>所有的值(第二个方法)
Ret=dic.items()
Print(ret)##返回列表套元组的形式
Dict_items([(‘name’,’zs’),(‘weight’,129),(‘age’,10)])
Ret=len(dic)
Print(ret)##返回键值对 的个数
Tup=(1,2,3)##ret=dict.fromkeys(tup),
Ret=dict.fromkeys(tup,’aa’)
Print(ret)
In和 not in的
Dic={‘name’:’zs’,’weight’:129,‘age’:10}
#key=dic.keys()
#print(keys)
#if’name’not in keys:
#, dic[‘name’]=’赵四’
#else:
#, dic[‘name’]=’尼古拉斯’
##print(dic)
##for 形式
#for key in dic .keys():
#, print(key)
#只获取 key
#for key in dic :

print(key)

Print(dic.items())
For item in dic.items():
Print(item)
For key, value in dic.items():
Print(key,’—’,value)

【set】==集合–》是无序不重合
#集合的格式:
变量名={元素1,元素2,元素3…}
变量=Set(可迭代的内容) 可迭代内容—》list,str,(),字典
注意:True会转化成数字‘1’,false会转换成‘0’
创建集合
lst=[‘a’,‘b’,‘c’]
set1=set(lst)
print(set1)

s=‘hello’
set2=set(s)
print(set2)#–>会去重
tup=(1,2,3,4,3,4,2,1)
set3=set(tup)
print(set3)

创建一个空集合
#集合
lst=[‘a’,‘b’,‘c’]
set1=set(lst)
print(set1)
s=‘hello’
set2=set(s)
print(set2)#–>会去重
tup=(1,2,3,4,3,4,2,1)
set3=set(tup)
#print(set3)
#二.创建一个空集合
set2=set()
print(set2)#==set() 空集合 #注意集合中的值不能是不可数据类型
set2={‘a’,‘b’,‘c’,[1,2,3]}#这样的会数据错误,类型不同
print(set2)#

三.集合的添加

set1={‘悟空’,‘八戒’}
set1.add(‘三藏’)#添加
print(set1)
set2={‘悟空’,‘白骨精’}
set1.update(set2)#去重
print(set1)

集合的删除
set1={‘悟空’,‘八戒’,‘三藏’}
set1.pop()#随机删除一个
print(set1)
set1.remove(‘悟空’)#固定删除某个元素
print(set1)
set1.clear()#清除集合
print(set1)#空集
del set1
print(set1)#报错

集合的遍历
set1={1,2,3}
for i in set1:
print(i)

六.关系测试
交集(& 或者 intersection) 取公共部分
并集。(| 或者 union) 取去除重复部分内容
差集。(- 或者 difference)取set1或者set2中除去公共部分的内容
反交集。(^ 或者 symmetric_difference)
子集。(< 或者 issubset)
超集。(> 或者 issuperset)

set1 = {1, 2, 3, 4}
set2 = {1,2,3, 4, 5, 6}
print(set1 & set2)# & 取交集,共同部分
print(set1 ^ set2)# ^ 反交集,除去共同部分
print(set1 | set2) # | 并集 俩集合的所有部分,自动去重
print(set2 - set1) # - 取set1或者set2中除去公共部分的内容
print(set2 > set1) # <,> 判断是否是他的子集或者超集1

扫描二维码关注公众号,回复: 4698640 查看本文章

例题
#把多余的去掉
lst=[1,2,3,4,2,1]
set1=set(lst)
print(set1)
#lst1=list(set1)#转换完去掉多余的值,重新转回去。

例题:#enumerate函数
lst=[‘a’,‘b’,‘c’]
for i in enumerate(lst,start=1):#可以指定数字排序
print(i)

猜你喜欢

转载自blog.csdn.net/weixin_44239431/article/details/85340555