列表是由一系列按特定順序排列的元素組成,。 列表可以包含不同類型的元素。列表內(nèi)元素的值可以重復(fù),。 列表通常用單詞名稱的復(fù)數(shù)表示,。 列表用方括號 [ ] 表示,,元素用 , 隔開。 >>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> print(numbers) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> type(numbers) <class 'list'> >>> list = [1, 'Hello', True, 12.56] >>> print(list) [1, 'Hello', True, 12.56]
正向獲取列表元素
Python獲取列表的元素可以類似看作在C++或Java中獲取數(shù)組的元素,,只需要提供該列表名以及對應(yīng)的元素索引即可獲取相應(yīng)元素,。注意:索引值從0開始,即獲取列表元素的索引范圍為 0 ~ 列表長度-1 ,。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> print(fruits[1]) pear
逆向獲取列表元素 當(dāng)然,,Python還提供了相當(dāng)方便的獲取列表倒數(shù)某個元素的寫法,即獲取倒數(shù)第一個元素的索引為 -1 ,,獲取倒數(shù)第二個元素的索引為 -2 ,,以此類推,獲取列表倒數(shù)某個元素的索引范圍為 -1 ~ -列表長度 ,。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> print(fruits[-5]) peach
使用 index() 方法,,可以傳入要查找的參數(shù),如果在列表中查出有此值,,則返回對應(yīng)值的索引,。如果沒有找到,則報ValueError錯誤,。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> fruits.index('grape') 3 >>> fruits.index('people') Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> fruits.index('people') ValueError: 'people' is not in list
在列表末尾添加元素
想要直接在列表末尾添加元素,,可以直接使用 append() 方法,將要插入到列表尾的元素作為參數(shù)傳給此方法,。 >>> list1 = ['abc', 'edf'] >>> list1.append('ghi') >>> print(list1) ['abc', 'edf', 'ghi']
在列表中的某個位置添加元素 想要在列表的特定位置添加元素,,可以使用 insert() 方法,此方法有兩個參數(shù),,第一個參數(shù)為要插入元素的索引值(從0開始),,第二個參數(shù)給出要插入的元素值。 >>> list2 = [123, 456] >>> list2.insert(1,789) >>> print(list2) [123, 789, 456]
修改列表元素的方法跟取列表中元素的方法類似,,只要給出列表名以及索引,,用賦值語句對其進行修改就行。 >>> list3 = [11, 22, 33, 44] >>> list3[1] = 99 >>> print(list3) [11, 99, 33, 44] >>> list3[-2] = 0 >>> print(list3) [11, 99, 0, 44]
刪除列表中特定位置的元素
使用 del 語句,,可以刪除列表中特定位置的元素,。 >>> list4 = [11, 22, 33, 44, 55] >>> del list4[2] >>> print(list4) [11, 22, 44, 55] >>> del list4[-1] >>> print(list4) [11, 22, 44]
刪除列表中最后一個元素并返回其值
使用 pop() 方法,可以將列表最后一個元素彈出,,并取得元素的值,。 >>> list5 = [10, 11, 12, 13, 14, 15] >>> x = list5.pop() >>> print(x) 15 >>> print(list5) [10, 11, 12, 13, 14]
刪除列表中任何一個元素并返回其值
使用 pop() 方法并代入索引值作為其參數(shù),,可以將列表某個位置上的元素彈出,并取得元素的值,。 >>> list6 = ['a', 'b', 'c', 'd'] >>> y = list6.pop(2) >>> print(y) c >>> print(list6) ['a', 'b', 'd']
刪除列表中第一次出現(xiàn)的指定元素 使用 remove() 方法,,傳入元素的值作為參數(shù),即可將列表中第一次出現(xiàn)的該元素刪除,。 >>> list7 = [1, 2, 3, 4, 2, 3] >>> list7.remove(2) >>> print(list7) [1, 3, 4, 2, 3]
刪除列表中所有指定元素
使用while循環(huán)搭配 remove() 方法,,可以刪除列表中所有指定元素。 >>> list7 = [1, 2, 3, 4, 2, 3] >>> while 2 in list7: list7.remove(2) >>> print(list7) [1, 3, 4, 3]
刪除列表的所有元素 使用 clear() 方法,,即可將列表的所有元素刪除,。 >>> list8 = [1, 2, 3] >>> list8.clear() >>> print(list8) []
刪除列表中指定范圍內(nèi)的元素
使用 del 刪除列表一段連續(xù)的元素,方法跟字符串切片類似,。 >>> list9 = [20, 21, 22, 23, 24, 25, 26] >>> del list9[1:4] >>> print(list9) [20, 24, 25, 26]
列表連接與字符串連接類似,,使用+號即可,。下面的例子演示了如何將兩個列表連接到一起,。 >>> list9 = [1, 2, 3] >>> list9 = list9 + ['a', 'b', 'c'] >>> print(list9) [1, 2, 3, 'a', 'b', 'c']
永久排序
使用 sort() 方法,可以對列表進行排序,,使用此方法后,,列表就是已經(jīng)排完序的了,不可恢復(fù)原排序,。默認排序是按升序,,即字母按a~z進行排序。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> fruits.sort() >>> print(fruits) ['apple', 'banana', 'grape', 'lemon', 'peach', 'pear', 'pineapple']
如果想要讓列表進行逆序排序,,可以在 sort() 方法中加入?yún)?shù) reverse=True ,。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> fruits.sort(reverse=True) >>> print(fruits) ['pineapple', 'pear', 'peach', 'lemon', 'grape', 'banana', 'apple']
臨時排序
使用 sorted() 方法,可以對列表進行臨時排序,,使用此方法后,,列表還是原排序。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> print(sorted(fruits)) ['apple', 'banana', 'grape', 'lemon', 'peach', 'pear', 'pineapple'] >>> print(fruits) ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon']
隨機排序
使用Python的random模塊函數(shù)shuffle(),,可以對列表進行隨機排序,,此排序的結(jié)果是永久的。 >>> import random >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> print(fruits) ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> random.shuffle(fruits) >>> print(fruits) ['pineapple', 'banana', 'lemon', 'apple', 'pear', 'peach', 'grape']
使用 reverse() 方法,,可以對列表進行反轉(zhuǎn),。 >>> list10 = [2, 5, 9, 6, 3] >>> list10.reverse() >>> print(list10) [3, 6, 9, 5, 2]
使用 len() 方法,可以獲取列表的長度,。 >>> fruits = ['apple', 'pear', 'peach', 'grape', 'banana', 'pineapple', 'lemon'] >>> len(fruits) 7
使用 for 循環(huán),,可以遍歷整個列表。
>>> citys = ['Beijing', 'Shenzhen', 'Shanghai'] >>> for city in citys: print(city)
Beijing Shenzhen Shanghai
要創(chuàng)建數(shù)值列表,,我們可以使用函數(shù) list() 將 range() 的結(jié)果直接轉(zhuǎn)換為列表,。下面的例子演示了如何創(chuàng)建一個包含數(shù)值5~10的數(shù)值列表,。 """ 創(chuàng)建一個包含數(shù)值5~10的數(shù)值列表 Version: 1.0 Author: Caizi """ numList = list(range(5, 11)) print(numList)
對數(shù)值列表進行簡單的統(tǒng)計計算 Python中有專門處理數(shù)值列表的內(nèi)置函數(shù),我們可以直接調(diào)用這些函數(shù)統(tǒng)計數(shù)值列表的信息,。下面的例子演示了求出數(shù)值列表的最大值,、最小值和總和。 """ 求出數(shù)值列表的最大值,、最小值和總和 Version: 1.0 Author: Caizi """ numList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] print(min(numList)) print(max(numList)) print(sum(numList))
Python中可以在創(chuàng)建列表的時候使用列表解析自動創(chuàng)建列表,。下面的例子演示了如何創(chuàng)建一個平方數(shù)列表。 """ 創(chuàng)建平方數(shù)列表 Version: 1.0 Author: Caizi """ squares = [x**2 for x in range(1, 11)] print(squares)
獲取子列表我們使用列表切片方式,,列表切片和字符串切片類似,,只需要指定切片范圍即可。下面的例子演示了對列表的切片操作,。 """ 列表的切片操作 Version: 1.0 Author: Caizi """ squares = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] print(squares[3:6])
我們可以直接在for循環(huán)使用列表切片,,即可遍歷列表的部分元素。下面的例子演示了遍歷列表前5個數(shù),。 """ 遍歷列表前5個數(shù) Version: 1.0 Author: Caizi """ squares = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] for square in squares[:5]: print(square)
在Python中復(fù)制列表,,我們可以使用列表切片操作,直接把整個列表切下來做為另一個新列表,,完成列表的復(fù)制,。下面的例子演示了如何使用切片操作復(fù)制列表。 """ 復(fù)制列表 Version: 1.0 Author: Caizi """ squares = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] list = squares[:] print(list) list = list * 2 print(list)
注意:在Python復(fù)制列表,,千萬不能使用賦值運算符直接把舊列表賦值給新列表,,因為在Python中,賦值運算符賦的是對象的id值,,所以使用下面例子的方法直接賦值,,它們id值一樣,即都指向同一個對象,,也就是說你只是取了該對象的一個別名而已,,并沒有新建新列表。 """ 錯誤的復(fù)制列表方法 Version: 1.0 Author: Caizi """ squares = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] list = squares print(id(squares)) print(id(list)) print(list)
在Python中,,檢查元素是否在列表中可以使用in和not in操作符,。下面的例子演示了如何檢查元素是否在列表中。 """ 檢查元素是否在列表中 Version: 1.0 Author: Caizi """ list = [1, 2, 3, 4, 5] print(1 in list) # True print(6 in list) # False
列表多重賦值即用列表中的值為多個變量賦值,。多重賦值技巧在Python中很常用到,,下面的例子演示了數(shù)據(jù)的多重賦值和列表的多重賦值。
""" 多重賦值 Version: 1.0 Author: Caizi """ # 數(shù)據(jù)的多重賦值 a, b, c = 10, 20, 30 print(f'a = {a}') # a = 10 print(f'b = ,') # b = 20 print(f'c = {c}') # c = 30 # 列表的多重賦值 student = [1001, 'boy', 18] id, sex, age = student print(f'id: {id}') # id: 1001 print(f'sex: {sex}') # sex: boy print(f'age: {age}') # age: 18
在Python中可以調(diào)用 enumerate() 函數(shù),,此函數(shù)返回兩個值,一個是表項的索引和表項的本身,。下面的例子演示了如何同時取得列表的索引和此索引上的值,。
""" 獲取列表索引及其對應(yīng)的值 Version: 1.0 Author: Caizi """ fruits = ['apple', 'peach', 'banana', 'lemon'] for index, item in enumerate(fruits): print(f'index {index} in fruits is: {item}')
|