python 列表 元祖和字典

2021-08-19 19:45:52 字數 4421 閱讀 6809

一:

列表迴圈

names=['哈哈','嘿嘿']

while(false):...

i=0#元素下標

while i

如圖:

for 迴圈做法

1.for i in range(len(names)):

print(names[i])

2.for i in names:

print(i)

"1,2,5,7"#是 以split(",")來分割,返回值 是列表且資料型別為整數型別

eval()將元組、字典、列表型別的字串  轉換  為元組、字典、列表 沒有標識預設為元組

可以把list,,tuple,dict,和string互相轉換。

即:list:將元組轉換為列表 tuple:將列表轉換為元組 dict:字典 string:字串

r = '23,5,6'

r1 = eval(r)

print(r1[0])

print(type(r1[0]))

print(type(r1))

如圖:

將字串字典轉換成字典

r = ""

r1=eval(r)

print(r)

print(type(r1))

如圖:

#將元組轉換str

r = (1,2,3)

r1 = str(r)

print(r)

print(type(r1))

二:元祖

python中:元組和列表相似,不同的是:元組的元素不可以修改。

元組使用小括號,列表使用方括號。

建立乙個元組:

1.num = (1,2,3,4)

print(num)

2.t = (1,2,'hah',[5,5,8],'你好')

print(t)

print(len(t))

print(dir(t))

即:在建立的時候  不可改變

試一下:

t.__add__(55)

print(t)

即:顯示說 只可以呼叫 不能改變

可變和,不可變

1.可變

id一樣如圖:

2.不可變

t = (1,2,'hah',4,[5,5,8],'你好')

print(t[1])

# t[4]=3#即:錯誤的

# 正確的:

t[4][1] = 3

如圖:

#如果想要改變t裡面下標為1的值:

t[1][0] = 3#系統報錯

print(t)

即:不可改變就是,t裡面的下標值不可改變

如果下標為』值中值『如:[5,5,8] 則只可改變中括號裡面的值

增加 刪除 改變均不可以

逐個賦值 一一對應 即:有多少個變數 就宣告多少個值

t=(1,2,'haha')

a,b,c=t

print(a,b,c,)

檢視是否是元組

a = (88,)

print('a:',a)

print('a:',type(a))#即:a裡面 不加逗號為數字  加上為元組

訪問 使用切片

for i in range(len(t)):

print(t[i])

for i in t:

print(i)

print(t[::-1])

加法t1=t*3

print(t1)

t2=t1+t

print(t2)

乘法t=(1,2,3,4,5,10,8)

t1=t*3

print(t1)

print(max(t))#最大的值

print(min(t))#最小的值

如圖:

tuple:將列表轉換為元組

#建立乙個元組 格式的資料格式 內容就是小括號裡面的

tu=tuple([1,2,3,4,5])

print(tu)

tu1=(tu[:])

print(tu1)

元組完三:字典

字典是一種 可變容器模型,且可儲存任意型別的物件。

每個鍵值用(:)分割 鍵必須是唯一的,但值則不必。

d =

值可以取任何資料型別,但鍵必須是不可變的如:字串、數字、元組。

一般用字串

stus=

dit=

通過key 進行操作

stus['老王']=20

stus['老王']=25

#覆蓋 即:如果第乙個stus存在 那就是覆蓋,不存在就是新增

print(stus)

刪除del stus['老王']

#即:如果沒有鍵值 系統拋異常

當要刪除的key 不存在時  系統不會拋異常 會顯示『沒有此函式』

ret=stus.pop('老王','沒有此函式')

print(ret) #返回『老王』的 值 即:ret 返回被刪除的值

stus=

使用【 .get:獲取 】的好處

print('小明年齡:',stus.get('小明','不存在'))

即:如果沒有』小明『則顯示』不存在『系統不會拋異常

print('小紅年齡:',stus['小紅5'])

即:如果沒有』小紅5『系統拋異常

知識延伸

phones=

字典遍歷 len(d):

phones=

print(len(phones))

遍歷key:

for key in phones.keys():

print(key)

遍歷value:

for value in phones.values():

print(value)

for item in phones.items():

print(item[0],item[1])

如圖(紅色區域):

字典特性:

1.不能出現相同的key,如果出現 即:後乙個覆蓋前乙個

2.key的值是不可變的,所以可以用數字,字串和元組充當,不能用列表

字典和列表的區別:

1.字典:

優點:查詢和插入的速度極快,不會隨著key的增加而變慢;

缺點:需要占用大量的記憶體,記憶體浪費多。

2.列表:

缺點:查詢和插入的時間隨著元素的增加而增加

優點:占用空間小,浪費記憶體很少。

字典是支援無線巢狀的:

citys = ,

'河北':

}for city in citys.keys():

print(city)

for qu in citys.get(city).keys():

print('\t'+qu)

print('\t\t'+str(citys.get(city).get(qu)))

如圖:

num =

dox = num.copy()

print(dox)

print(type(dox))

如圖:

# 轉型別:

print(str(dox))

print(type(str(dox)))

字典的內建函式:

len()#獲取長度

str()#轉譯成字串

type()#獲取資料型別

clear()#清空

copy()#複製 』值『

key()  value() item()

pop(key)#刪除乙個值,如果沒有key 則拋異常即:pop(key,default)不拋異常

get()#新增

列表 元祖 字典

形如list1 cat 1,3.4 由 括起來的一組序列稱為列表,屬於可變資料型別。列表中的元素可以是任意資料型別,整型,浮點型,字串型別,甚至可以是列表 元祖或者字典。列表的操作 1 可使用下標獲取列表中的某個元素 例如 list1 0 2 負數下標以及切片獲取子列表 雖然下標是從0開始向上增長,...

列表 元祖 字典

建立列表 lis list s 創 建 列 表 迭代追加extend lis.extend 迭代追加extend lis 0 4 修 改 修改切片範圍的元素,從左開始,沒有對應的就沒有了 del lis 0 3 judge 迭代追加extend in lisprint judge ture lis ...

python 列表和元祖,字典的區別

都是序列 都可以儲存任何資料型別 可以通過索引訪問 使用方括號建立列表,而使用括號 建立元組 列表是可變的,而元組是不可變的,這標誌著兩者之間的關鍵差異。我們可以修改列表的值,但是不修改元組的值。由於列表是可變的,我們不能將列表用作字典中的key。但可以使用元組作為字典key。元組無法複製。原因是元...