python中5 5 python中的列表

2021-10-11 20:05:39 字數 2111 閱讀 1457

list是python內建的一種有序、可變的資料結構。

一、如何建立乙個list?

示例:注意:list中的元素可以是任意的資料型別如字串、數字、布林值、none等,也可以是其他的資料結構如另外乙個list,tuple,dict等。

二、如何取出list中的元素?

1、取乙個元素,用列表索引。

語法:list [ i ]。i 是索引位置。第乙個元素索引值為0;i 也可以小於0,代表索引值從後往前取,如最後乙個元素索引值為-1,倒數第二個為-2,如此類推。

示例:2、取多個連續的元素,用列表切片。

語法:list [ start : end : step ] 。

start為開始切片的索引值;end為結束切片的索引值,這裡切片取得的元素不包括索引為end的這個元素,即實際取得的元素是索引為start至end-1這些元素;step為切片的步距,預設step=1。

列表切片分為正向切片與反向切片,

正向切片:

反向切片:

這裡有人會問,b = mylist[3:0]不是應該取出 [2,1,0]嗎?其實這裡跟step的取值有關。

當正向切片時,step必須大於0;當反向切片時,step必須小於0。

因為上面b = mylist[3:0]中的step預設為1,所以取出的是空列表。

所以我們想b = mylist[3:0]能正確取出[2,1,0],只要把step設定成-1就可以了。

由於這裡start和end實際上是元素的索引值,所以這裡start和end也可以是負數,只不過正向切片和反向切片也要遵守(當正向切片時,step必須大於0;當反向切片時,step必須小於0)這個規則就是了。所以step正負與索引值的正負無關,而與切片的方向有關。

注1:若start和end是第乙個或者最後乙個元素的索引值,可省略。

mylist[::-1]是常用的反轉列表的方法。有人可能會問:為什麼mylist[::-1]能夠取得元素?不是說step必須與切片方向一致嗎?

其實這裡mylist[:] = mylist[0:] = mylist[-1:],所以這裡的mylist[::-1] = mylist[-1::-1]。

注2:這裡的列表索引與列表切片都是建立乙個新的副本,而原列表不會發生變化。所以列表索引和列表切片必須要賦給乙個新變數,否則新副本只會建立出來放在記憶體中而取不出來。

三、list的常用方法。

1、增:

示例:(2)插入:在列表任意位置插入乙個新元素。語法:mylsit.insert(i, 新元素),i是想把新元素插入的索引值。

示例:2、刪:

(1)彈出:將列表裡的任意乙個元素彈出。語法:mylist.pop(i=-1),這裡i的預設值為-1,即預設彈出最後乙個元素。

這裡為什麼叫彈出?因為一般的列表方法都沒有返回值,而是直接在原列表上進行改動,而pop方法是有返回值的,返回值就是彈出的元素,可以把返回值賦給乙個新的變數。

示例:(2)移除:刪除列表中的任意乙個元素。語法:mylist.remove(列表元素)。

彈出與移除比較:彈出引數為索引值而移除引數為列表元素;彈出有返回值而移除沒有返回值。

示例:示例:

4、排序:將列表中的元素按照順序排列。語法:mylist.sort()

示例1:

示例2:

注:數字與字串不能排列!

5、反**將列表裡面的順序反轉過來。語法:mylist.reverse()

示例:四、list常用的內建函式。

1、len(list):計算列表長度。

2、sorted(list):列表排列,與mylist.sort()效果相同,唯一區別是sorted()是建立乙個新的排列好的列表作為返回值。

3、reversed(list):列表反轉,同上sorted()同等道理。

4、enumerate(list, start=0):列舉列表中的元素,返回乙個tuple-enumerate物件。其中start引數控制列舉開始的序號,預設值為0.

示例1:

示例2:

5、zip(list1, list2):將兩個長度相同的列表中的每個元素兩兩壓縮成一起。返回乙個tuple-zip物件。

示例:具體參考:

1、《python核心程式設計(第二版)》:6.3 操作符;6.11 - 6.15 列表。

--------本篇完!

python定義區間 5 5 python作業5

1.給定兩個均不超過9的正整數a和n,要求編寫函式fn a,n 求a aa aaa aa aa n個a 之和,fn須返回的是數列和 函式介面定義 fn a,n 其中 a 和 n 都是使用者傳入的引數。a 的值在 1,9 範圍 n 是 1,9 區間內的個位數。函式須返回級數和 裁判測試程式樣例 請在這...

55 python 類方法和靜態方法

是類物件所擁有的方法,需要用修飾器 classmethod來標識其為類方法,對於類方法,第乙個引數必須是類物件,一般以cls作為第乙個引數 當然可以用其他名稱的變數作為其第乙個引數,但是大部分人都習慣以 cls 作為第乙個引數的名字,就最好用 cls 了 能夠通過例項物件和類物件去訪問。class ...

Python學習筆記55 爬蟲(隱藏)

1.為了隱藏訪問方式,可以通過兩種方式 方法一 直接設定乙個字典,作為引數傳給request,通過修改request的headers引數修改 head req urllib.request.request url,data,head 方法二 在request生成之後通過add header 方法修改...