Python資料型別之列表元組 有序 字典集合

2021-10-06 03:28:45 字數 4503 閱讀 3930

#用括起來

li1=

['long'

,'cong'

,'ke'

,'pan'

,'yan'

,'wen'

,'yu'];

print

(li1)

#可以組合不同型別的資料

li2 =

['long',1

,'ke',2

,'yan',3

,'yu',4

,5,6

];print

(li2)

#列表可以巢狀

li3 =

['sd'

,li1,li2]

;print

(li3)

len(li3)

#列表長度 3

for i in

range(3

):print

(li3[i]

)

li3[2]

[1]# 1

#切片索引

li1[0:

5]#不包括位置5

li1[0:

5:2]

#間隔為2

li1[5:

0:-1

]#反向索引

li1[1:

]#只給出起始位置

li1[:3

]#只給出結束位置

#列表運算 + *

li4 = li1+li2;

print

(li4)

#列表拼接 +

li5 = li1*

2#列表迴圈兩遍

#列表常用函式

li1.index(

"ke"

)#返回元素索引值

"kk"

)#在末尾新增元素

li1.insert(1,

"ff"

)#insert object before index. insert(index,object)

print

(li2)

li2.extend(li1)

#把li1放在li2後面

li2.extend(

['ll'

,'rr'

,"xzz"

,'yy'])

li2.count(

"ke"

)#統計元素出現次數

huluwa =

['kk'

,'yy'

,'ff'

,'xzz'

,'dd'

,'rr'

,'ll'

]huluwa.reverse(

)#反轉列表

huluwa

#刪除列表元素

huluwa.remove(

'kk'

)#元素

del huluwa[1]

#使用條件是 已知索引

huluwa =

['kk'

,'yy'

,'ff'

,'xzz'

,'dd'

,'rr'

,'ll'

]name = huluwa.pop(

)#刪除末尾的值

print

(name+

'你真帥'

)#列表解析式

[x for x in

range(10

)][x*x for x in

range(10

)][x*x for x in

range(10

)if x*x <

50]

#元組(tuple)  用小括號;元素不可修改

tup1 =

('physics'

,'chemistry'

,1997

,2000);

tup2 =(1

,2,3

,4,5

);tup3 =

"a",

"b",

"c",

"d";

#沒有括號,預設為元組型別

tup4 =(50

,)#若只有乙個元素,用","消除歧義 tup1 = () 空元祖

tup1[0:

3]#切片索引,類似於列表

l =(

'spam'

,'spam'

,'spam!')l[

-1]#返回末尾值l[:

:-1]

#反向索引,反轉顯示

#元組中的元素不可修改,但是可以對整個元組操作

tup4 = tup1 + tup2

tup5 = tup1*

2#若元組中,有乙個元素是列表,那可以修改列表的元素

tup6 =

('a'

,'b',[

2,0,

5,1,

4])tup6[2]

[1]=

"zero"

tup6

#刪除元組

del tup4

#字典 鍵唯一,值可不唯一

#字典的建立

dict1 =

# 傳入關鍵字

dict

(zip([

'one'

,'two'

,'three'],

[1,2

,3])

)# 對映函式方式來構造字典

dict([

('one',1

),('two',2

),('three',3

)])# 可迭代物件方式來構造字典

a =dict

.fromkeys(

['name'

,'age'

,'job'])

#只建立鍵

a['name']=

'kk'

#再新增值

dict1.get(

'name'

)dict1.get(

'aa'

,"沒這個鍵"

)# dict.get(key, default=none) 返回指定鍵的值,如果值不在字典中返回default值

dict1.get(

['name'

,'age'])

dict1.keys(

)#以列表返回乙個字典所有的鍵

dict1.values(

)#以列表返回字典中的所有值

'name'

in dict1 #in 如果鍵在字典dict裡返回true,否則返回false

#刪除b.clear(

)# 清空字典所有條目

del dict1[

"class"

]# 刪除鍵是'name'的條目

#字典的遍歷

for key in dict1.keys():

print

(key)

for value in dict1.values():

print

(value)

for key,val in dict1.items():

#dict.items() 以列表返回可遍歷的(鍵, 值) 元組陣列

# print(key,':',val);

print

('%10s : %s'

%(key,val)

)

#建立有序的字典

from collections import ordereddict

dict2 = ordereddict(

)dict2[

'for']=

'for迴圈'

dict2[

'pass']=

'空語句'

dict2[

'len']=

'求長度'

for key,value in dict2.items():

print

(f"鍵:值:\n"

)

在python中,物件賦值實際上是物件的引用。當建立乙個物件,然後把它賦給另乙個變數的時候,

python並沒有拷貝這個物件,而只是拷貝了這個物件的引用

(1)直接賦值,預設淺拷貝傳遞物件的引用而已,原始列表改變,被賦值的b也會做相同的改變

(2)copy淺拷貝,沒有拷貝子物件,所以原始資料改變,子物件會改變

(3)深拷貝,包含物件裡面的自物件的拷貝,所以原始物件的改變不會造成深拷貝裡任何子元素的改變

詳情參見深拷貝淺拷貝

names =

['wangdachui'

,'niuyun'

,'wangzi'

,'wangdachui'

,'linling'

,'niuyun'

]namesset =

set(names)

print

(namesset)

months1 =

months1

常用資料型別之列表與元組

列表是乙個有序的集合,列表裡面的元素按照順序進行排列 list 123 123,true,二二三木丿 print list print list 0 print list 1 print list 2 print list 3 輸出 123 123,true,二二三木丿 123123 true 二二...

python資料型別之列表

li print li,type li 輸出結果 li 1,2.2,true,hello print li,type li 輸出結果 1,2.2,true,hello li 1,2,3,false,python 1,2,3,4,5 print li,type li 輸出結果 1,2,3,false,...

Python資料型別之列表

print 新增後的list12 list12 extend 在末尾一次性在另乙個列表中的多個值 list13 1,2,3 list13.extend 4,5,6 list13.extend list12 print list13 insert a,b 在指定下標a新增乙個元素b,不覆蓋元素,原資料...