1. 程式人生 > >元組 與 字典

元組 與 字典

快速 3.3 3.2 不可 mce 換行 IT 內置 打印

一、什麽是元組:元組就是一個不可變的列表

1:用途:

存多個值,但是只有讀的需求,沒有改的需求。

強調:在元素個數相同的情況下, 使用元組更加節省空間。

2:定義方式

t=(1,2,3,4,5,6) #t=tuple((1,2,3,4))

3:常用操作+內置的方法

優先掌握的操作

1:按照索引取值(正向取+反向取, 只能取)

t=(1,2,3,4,5,6,7,8,9)
print(t[0:8:3])         # 打印結果  1 4 7

2:切片 (顧頭不顧尾,步長)

t=(1,2,3,4,5,6)
print(t[1:4])    #打印結果 (2, 3, 4)

3:長度 len

t=(1,2,3,4,5,6)
print(len(t))    #打印結果   6

4 成員運算in和not in 

t=(1,2,3,4,5,6)
print (2 in t)    #打印結果  True

5 循環  

t=(1,2,3,4,5,6)
i=0
while i< len(t):
    print(t[i] ,end=" ")    #end=""表示不換行
    i+=1                  #打印結果  1 2 3 4 5 6


t=(1,2,3,4,5,6)
for item  in t:
    print(item,end=
) #打印結果 1 2 3 4 5 6

6 index 固定元素的索引

t=(1,2,3,4,5,6)
print(t.index(2))    #打印結果 1  表示第1位

7 count 某個元素的個數

t=(1,2,3,4,5,6,3,3,3,3,3,3,2)
print(t.count(3))    #打印結果為7  表示這個元祖裏有7個3

該類型總結

1 存多個值 ,2 有序 ,3 不可變

二,字典

1: 用途 :以key:value 的形式存多個值

優點:存取都快,每個值都有一個 對應的key

2,定義方式:{}內以逗號分隔多個元素,格式為 key:value

其中key必須為不可變類型,value可以是任意類型

dic={x:1,y:1,x:1111}
print(dic)    #打印結果     {‘x‘: 1111, ‘y‘: 1}

3:常用操作+內置的方法

3.1 按key存取值,可存可取

dic={name:egon}
dic[age]=10
print(dic)   #  打印結果 {‘name‘: ‘egon‘, ‘age‘: 10}  將‘age‘:10  這個元素放入字典裏
dic={name:egon}
dic[age]=10
dic[name]=EGON
print(dic)     #打印結果    {‘name‘: ‘EGON‘, ‘age‘: 10}    ,將‘age‘:10 存入字典裏,  將‘name‘:egon 這個元素更改為‘name‘:EGON 元素放入字典裏, 
dic={name:egon}
dic[age]=10
dic[name]=dic[name].upper()
print(dic)    #打印結果 {‘name‘: ‘EGON‘, ‘age‘: 10}    將‘age‘: 10 這個元素放入字典裏,並將 name的vulae 值大寫

3.2 長度 len 判斷字典裏有幾個元素,key的個數則代表字典裏元素的個數

dic={name:egon,age:18}
print(len(dic))  #打印結果為2,表示裏面有2個元素

3.3 成員運算 in 和not in 。 判斷某個元素是否在字典內,

dic={name:egon,age:18}
# print(‘name‘ in dic)    #打印結果為True  表示name  這個key和對應的值在這個字典裏
print(sexin dic)       #打印結果為False  表示sex 這個key和對應的值不在這個字典裏

3.4 刪除 dic.pop(‘ ‘,None)

dic={name:egon,age:18}
x=dic.pop(name)
print(dic)     #打印結果為 {‘age‘: 18}是只江name這個key與其所對應的值 刪掉

dic={name:egon,age:18}
res=dic.pop(sex,None)
print(res)      #打印結果為None  若是刪除字典裏沒有的key與其所對應的值時,一般都在刪除那個key的後面+ ‘ ,None‘,
若是沒有這個key的話 反饋的 結果為None,若是有的話則直接刪除。 不加None的話 刪除沒有的Key的情況下,
則會報錯,所以一般情況為了防止報錯, 在我們不確定有沒有這個keyde 情況下,都要在後面加None

3.5 鍵 keys 表示,值 values表示 鍵值對items

dic={name:egon,age:18}
print(dic.keys())   #打印結果  dict_keys([‘name‘, ‘age‘])
print(dic.values())   #打印結果   dict_values([‘egon‘, 18])
print(dic.items())    #打印結果    dict_items([(‘name‘, ‘egon‘), (‘age‘, 18)])

3.7 循環 for 用key 來循環

dic={name:egon,age:18}
for x in dic.keys():    
    print(x)                # 打印結果  name   age    打印字典裏key的所有集合
print(list(dic.keys())[0])  #打印字典裏key的第一個值  name

3.6 get 取值 get() 括號裏加key,把字典裏的的值取出, 若取得key 是字典裏沒有的則不會報錯, 直接給出None的提示。

dic={name:egon,age:18}
print(dic.get(name))   #打印結果  egon
print(dic.get(sex))    #d打印結果  None

3.7 .popitem() 默認取最後一個item

dic={name:egon,age:18}
print(dic.popitem())  #打印結果 (‘age‘, 18)
3.8 update()  更新。更新指的是 新字典中有而老字典中沒有則添加,新有而老有, 則覆蓋

dic={name:egon,age:18}
dic.update({x:1,age:19})
print(dic)   #打印結果   {‘name‘: ‘egon‘, ‘age‘: 19, ‘x‘: 1}

3.9 setdefault的用處 修改的意思

字典中有key, 則不修改, 返回原key對應的原值

dic={name:egon,age:18}
res=dic.setdefault(name,EGON)
print(返回值,res)     #打印結果 返回值 egon   原字典中有name, 所以不修改
print(dic)            #打印結果 {‘name‘: ‘egon‘, ‘age‘: 18}
dic={age:18}
res=dic.setdefault(name,EGON)
print(dic    #打印結果   {‘age‘: 18, ‘name‘: ‘EGON‘} 原字典裏沒有name以及對應的值, 所以將name加進字典, 


3.10 fromkeys 快速造成一個新的字典

dic={name: egon, age: 18, a: 1, z: 3, alex: 20}
print({}.fromkeys(dic.keys(),NONE))   #打印結果{‘name‘: ‘NONE‘, ‘age‘: ‘NONE‘, ‘a‘: ‘NONE‘, ‘z‘: ‘NONE‘, ‘alex‘: ‘NONE‘}





元組 與 字典