PYTHON 列表與元組

2021-07-14 23:38:59 字數 3505 閱讀 6042

>列表簡介

>>是一種內建的資料結構,用來儲存一系列的元素

>>同js一樣,由於解釋性語言不必宣告資料型別,所以陣列的元素也可以很靈或的不相同。

>列表的運算

index索引運算:

切片運算:[:]

拼接運算+

重複運算*

成員運算in

長度運算len()

迴圈for()

>列表方法:

list.intex()可以返回任意的方法

my_list[2] = a #元素賦值

my_list.extend()#末尾追加子表

my_list.insert()#任意位置插入元素

my_list.pop()結尾刪除元素

my_lise.sort()#排序

my_list.remove()#刪除任意位置元素

my_list.reverse()#倒序

>列表應用>>內建函式:sum()求和,max()求最大值,min()求最小值

>>列表名本身就是一種指標和位址。所以在賦值是只是乙個指標的指向賦值給另乙個指標的指向

程式一
a = [1, 2, 3, 4]

b = a

b[1] = 100

print a[1]

程式二a = [1, 2, 3, 4]

b = a[:]

b[1] = 100

print a[1]

程式一的輸出100,因為a和b指向同乙個位置

程式二的輸出1,因為a和b指向不同的位置。

>>交換列表中兩個元素的值

def swap(lst, a, b)

tmp = lst[a]

lst[a] = lst[b]

lst[b] = lst[a]

x = [10, 20, 30]

swap(x, 0, 1)

>>查詢並返回元素位置

def search(lst, x):

for i in range(len(lst)):

if lst[i] == x:

return i

return -1

也可以直接使用lst.index(待查詢元素)直接進行查詢

>>時間複雜度的計算

>二分查詢

def bi_search(lst, v):

low = 0

up = len(lst) - 1

while low <= up

mid = (low + up) / 2

if lst[mid] < v:

low = mid + 1

elif lst[mid] == v:

return mid

else:

up = mid - 1

return -1

>排序>>選擇排序

>>氣泡排序

>>使用內建函式

sorted(lst)

lst.sort()

>巢狀列表students = [ ['zhang', 84], ['wang', 77], ['li', 100], ['zhao',53] ]

>列表的解析

>>作用:一種有源列表建立新列表的方法

>>語法:[表示式for 變數 in 列表 if 條件]

生成函式-變化範圍-約束條件

普通方法

lst =

for x in range(1, 10)

print lst

列表解析法:

lst =  [x**2 for x in range(1,10) if x % 2 == 0]

生成函式x**2;生成範圍1-10;生成條件x%2==0

>定義匿名函式lambdag = lambda x: x ** 2

print f(8)

所以可以用一下程式實現巢狀列表的值排序

students = [ ['zhang', 84], ['wang', 77], ['li', 100], ['zhao',53] ]

students.sort(key = lambda x: x[1], reverse = true)

>元組

>>注意事項

1、元組同字串一樣具有不可變性,本質上是乙個列表

3、用括號直接建立元組(引號直接建立字串,方括號直接建立列表)

4、元組的括號可以省略,直接用逗號隔開相同元組裡的不同項

>>使用元組賦值

使用元組交換兩個值

a, b = b , a

name, domai = '[email protected]'.split('@')   //這樣就直接將值賦給兩個變數了。

>>函式和元組

使用元組可以返回多個函式值

>>dsu模式(decorate,sort,undecorete)修飾排序反修飾

def sort_by_length(words):

#decorate

t =

for word in words:

#將元素和元素長度組成乙個二元組

#sort

t.sort(reverse = true)

#undecorate

res =

for length, word in t:

return res

words.sort(key = lambda x:len(x),reverse =true)
//巧妙地利用了元組對應的靈活性完成了合成和分割

python列表與元組

在python中,最基本的資料結構為序列 sequence 序列中的每個元素都有編號,即其位置或索引,其中第乙個元素的索引為0,第二個元素的索引 為1,依此類推。在有些程式語言中,從1開始給序列中的元素編號,但從0開始指出相對於序列 開頭的偏移量。這顯得更自然,同時可迴繞到序列末尾,用負索引表示序列...

Python元組與列表

序列型別 元組 tuple 是序列型別中比較特殊的型別,因為它一旦建立就不能被修改。元組型別在表達固定資料項 函式多返回值 多變數同步賦值 迴圈遍歷等情況下十分有用。python中元組採用逗號和圓括號 可選 來表示。序列型別有12個通用的操作符和函式 操作符描述 x in s 如果x是s的元素,返回...

Python列表與元組

列表和元組是python中最常用的兩種資料結構,字典是第三種。相同點 1.都是序列 2.都可以儲存任何資料型別 3.可以通過索引訪問 不同點 語法差異 使用方括號建立列表,而使用括號 建立元組。請看以下示例 是否可變 列表是可變的,而元組是不可變的,這標誌著兩者之間的關鍵差異。注 如果不了解什麼是可...