1. 程式人生 > >python字典與集合 基礎操作

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

例題
#把多餘的去掉
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)