list是一種可變的有序容器,每一個元素都擁有本身的下標.列表使用[]定義.app
x = [1,2,3] #第一種,使用[] y = x #第二種,賦值 y = list({1,2,3}) #第三種,使用強制轉換函數
下標從0開始,容許負數做爲下標,最後一個元素的下標爲-1,第一個元素的下標爲-n,第i個元素的下標爲(i-1)或-(n-i+1).函數
設x是一個列表,則3d
x[start:end:step]
爲列表的一個切片,start爲起始位置,包含,能夠省略,end爲結束位置,不包含,能夠省略,step爲步長,能夠省略,默認爲1.code
三者均可覺得負數.對象
三者都省略時爲整個列表,反向遍歷時能夠省略start與end,步長設爲-1:blog
反向遍歷有三種方法:排序
使用切片,像上面同樣,步長設爲-1圖片
reversed()會返回一個迭代器,想要獲取裏面的內容能夠轉換爲list().ip
前兩種方法不會改變列表,列表方法reverse()改變了列表.rem
列表推導式可用於快速生成有規律性的列表,好比生成包含10個2的列表:
[2 for i in range(10)]
有點相似於把for循環的循環體提到前面.
extend()相似於直接使用+,可是+不會改變列表自己,而extend()會改變列表自己.
append()把參數做爲一個元素直接追加到列表中.
insert須要兩個參數,分別表示插入的下標與插入的值.
根據下標刪除元素.
根據值刪除元素,刪除第一個出現的元素,就是說對於重複元素僅刪除第一次出現的元素.
列表長度,注意這個不是列表的方法.
這兩個都是排序的方法,sorted()不是列表的方法,把列表做爲函數的參數傳遞,sort是列表的方法,會改變列表自己.
逐個顯示對應的下標,返回的是一個迭代器.想要顯示能夠轉換爲列表.
列表的並行計算.
元組是不可變的有序容器,用()表示.
x = (1,2,3,4,5) #第一種,使用() y = x #第二種,使用賦值 x = tuple('kkkrrr') #第三種,使用tuple強制轉換 x = 1,2,3,4,5 #第四種,實質上仍是第一種,省略了圓括號
用逗號分隔的都是元組,是不可變對象,支持拆包式賦值.
交換兩個變量:
函數的不定長參數:
def fun(arg1,*arg2): print(arg1) if arg2 != (): if len(arg2) == 1: print(arg2[0]) else: print(arg2) fun(1) fun(2,3) fun(4,5,6)