1. 程式人生 > 實用技巧 >元組,字典

元組,字典

今日內容:

一、元組 tuple

1、用途:元組就相當於一種不可變的列表,所以說元組也是按照位置存放多個任意型別的元素

2、定義方式:在()內用逗號分隔開個多個任意型別的元素

x=(11)
print(x,type(x)) #值在()裡面,如果元組內只有一個元素,那麼必須用逗號分隔
t=(11,11.33,"xxx",[44,55])  # t = tuple(...)
print(t[-1][0])
print(type(t))

資料型別轉換 tuple(可迭代的型別)

3.常用操作+內建的方法

優先掌握的::

按索引取值(正向取+反向取):只能取
 t=(11,22,33)
 t[0]=7777     #報錯
切片(顧頭不顧尾,步長)
t=(11,22,33,44,55,666)
print(t[0:4:2])
長度 len
t=(11,22,33,44,55,666)
print(len(t))
成員運算in和not in
t=(11,22,33,[44,55,666]) print([44,55,666] in t)    #True
迴圈
t=(11,22,33,[44,55,666])
for x in t:
print(x)     #False

需要掌握的:

 t=(33,22,33,[44,55,666])
 print(t.count(33))# 統計數量
 print(t.index(33,1,4)) # 索引查詢位置

該型別的總結:

^ 存多個值

^ 不可變

二、字典型別 dict

1、用途:按照key : value的方式存放多個值,其中key對value應該有描述性的效果

2、定義方式:在{}內用逗號分隔開多個元素,每個元素都是key : value的組合,其中value可以是任意型別,但是key必須是不可變型別,通常是字串型別,並且key不能重複

資料型別轉換:

res = dict([("name","egon"),["age",18],["gender","male"]])
print(res)
res = dict(a=1,b=2,c=3)
print(res)
res = {}.fromkeys(['name',"age","gender"],None)
res = {}.fromkeys(['name',"age","gender"],11)
res["name"]=666
print(res)    #fromkeys獲取key值
or
res = {}.fromkeys(['name',"age","gender"],[])
res["name"]=666 res["name"].append(1111111)
print(res)

3、常用操作+內建的方法

優先掌握:

按key存取值:可存可取
d={"k1":111,'k2':222}
print(d['k1']) 
d['k1']=6666   #以原來的k1替代
d['k3']=6666    #直接加上k3
print(d)
長度len
d={"k1":111,'k2':222}
print(len(d))
成員運算in和not in: 判斷的是key
d={"name":"egon",'age':18} print("name" in d)
刪除 del
d={"name":"egon",'age':18}
print(d)
del d["name"]    #直接刪除,萬能刪除
pop  刪除(“ ")
v = d.pop("name")
print(d)
popitem 返回並刪除字典中最後一對鍵和值,item是刪除的返回值
d={"name":"egon",'age':18}
item = d.popitem()
print(item)
print(d)   
鍵keys(),值values(),鍵值對items()
d={"name":"egon",'age':18,"gender":"male"}
print(d.keys())
print(d.values())
print(d.items())
列印--
dict_keys(['name', 'age', 'gender'])
dict_values(['egon', 18, 'male'])
dict_items([('name', 'egon'), ('age', 18), ('gender', 'male')])
迴圈
d={"name":"egon",'age':18,"gender":"male"}
for k in d.keys():  或者 d.values():
    print(k)    #迴圈keys 或 values
d={"name":"egon",'age':18,"gender":"male"}
for k,v in d.items():   
	print(k,v)   #解壓賦值
用列表列印
d={"name":"egon",'age':18,"gender":"male"}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))
get 獲取valuer值
d={"name":"egon",'age':18,"gender":"male"}
print(d.get("name"))

需要掌握:

clear 清空字典
d={"name":"egon",'age':18,"gender":"male"}d.clear()
print(d)
d.copy()  # 淺copy
  key不存在則新增key:value,key如果存在則什麼都不做,如:
d={"name":"egon",'age':18,"gender":"xxx"}
if "ooo" not in d:   
	d['ooo']="male"
print(d)
 結果:{'name': 'egon', 'age': 18, 'gender': 'xxx', 'ooo': 'male'}
 
 or---
 d.setdefault("ppp","ooo")
 print(d)    #兩個意思一樣,如沒有值,會新增
字典內容更新
d={"name":"egon",'age':18,"gender":"male"}
d.update({"k1":111,"name":"xxx"})
print(d)
#key原值會更新,如沒有,會新增

總結該型別:

^ 存多個值

^ 無序

^ 可變