Python基礎 核心資料型別 序列 列表

2021-07-25 19:40:36 字數 2931 閱讀 3988

列表方法

extend

insert

remove

popreverse

sort

count

index

列表解析其他

len

+

*

索引

索引值必須在序列邊界內,否則會引發錯誤

賦值

元素賦值x[i] =

分片

索引值超出邊界可以工作,python會自動縮放超出邊界的分片使其可用,比如l[3:1]會被縮放成l[3:3],l[-100:3]會被縮放成l[0:3]

分片賦值

比較厲害的是分片賦值的序列可以和將要覆蓋的序列不等長。所以雖然是賦值操作,但也可以實現插入、刪除操作。比如覆蓋的序列是空序列[2:2],那麼就是插入;要賦的序列是空序列,對應著刪除。但是在實際中並不常見。

在列表後新增元素,修改原來的列表,返回none。

extend

extend(list)

在列表後面新增list的所有元素,修改原有列表。

insert

insert(pos, x)

將元素x插入pos對應的位置。修改原有列表。

remove

remove(x)

刪除列表中第乙個值為x的元素。修改原有列表。

pop

pop()reverse

reverse()

將原來的列表倒序操作。修改了原有列表。

內建函式reversed(listname),也可以,但返回的是乙個迭代器物件。需要list(reversed(listname))

sort

sort(key, reverse=false)

對原有列表進行遞增排序,修改了原有列表,返回none值。可以通過傳入關鍵字來修改排序行為:key引數給出了乙個單個引數的函式,返回在排序中使用的值。

>>>list = ['abc', 'abd', 'abe']

>>>list.sort()

['abd', 'abe', 'abc']

>>>list.sort(key=str.lower)

['abc', 'abd', 'abe']

>>>list.sort(key=str.lower, reverse=true)

['abe', 'abd', 'abc']

內建函式sorted(listname, key, reverse=false)也可以實現列表的排序,引數可以是任何序列,但生成新列表,而不是在原處修改。sort可以接受自定義的比較函式作為引數。這在c++中對應函式謂詞(不知道是不是這個名字),這是高階排序的內容,碰到的時候回來細說。

count

count(x)

統計元素x在列表中出現的次數。

index

index(x)

找到列表中匹配元素x的第乙個索引位置。

列表解析表示式是關於列表的高階操作。列表解析是寫在中的,而且有使用同一變數名的表示式和迴圈結構組成。

[row[1] for row in m if row[1] % 2 == 0]

[(x, y) for x in

range(5) if x%2==0

for y in

range(5) if y%2==1]

可以看出列表解析表示式和map函式很相似,不同之處在於列表解析對序列中的每個元素應用表示式,而map函式對序列中的每個元素應用乙個函式。列表解析比map呼叫快。

list函式

將引數轉換成列表形式。如list("hello") ----> ['h', 'e', 'l', 'l', 'o']

join方法

如果想要把由字元組成的列表轉換成字串,就要用到join函式,"".join(['h', 'e', 'l', 'l', 'o'])

del刪除

del語句實現原處刪除元素或片段:

>>>age =[10, 20, 30]

>>>del age[2]

>>>age

[10, 20]

del語句刪除的是變數的名字,以及引用關係,並沒有刪除值本身。python是沒有辦法刪除值的,當某個值不再使用時,python直譯器負責記憶體的**。

zip

zip(list1, list2)

可以傳入任意的序列物件,一般用於並行迴圈中。

對列表中所有元素進行計數並找到最常見的幾個元素

>>>from collections import counter

>>>x = [1, 2, 3, 1, 1, 2]

>>>count = counter(x)

>>>count.most_common(2)#出現次數最多的兩個元素值及對應的次數

[(1, 3), (2, 2)]

Python基礎 核心資料型別 數字

分類 整型 分為一般整型和長整型,一般整數為4位元組。對於比較大的數,用長整型,數字後面加l,如1000000000l,即使不顯式加l,python也可以通過檢測整數是否超過一般整型所能表示的最大整數進行自動轉換。還可以使用十六進製制 八進位制 二進位制表示整數 十六進製制 0xaf 0xaf 八進...

python核心資料型別

序列運算子 本文採用版本pyton3.5 數字 int,long,float,complex,bool 字元 str,unicode 列表 list 字典 dict 元組 tuple 檔案 file 其他型別 集合 set frozenset,類型別,none str repr 或format 將非...

Python基礎 核心資料型別 序列 字串

序列 容器是包含其他物件的任意物件,序列及對映 字典 是常見的容器,序列中的每個元素都對應乙個位置,而對映中的元素都對應乙個鍵。集合 set 也是容器的一種。序列是python中的最基本的資料結構。序列中的每個元素被分配乙個序號,或者稱為索引,和c語言中的陣列一樣,下標從0開始。python包含6種...