【Python基础】超级详解系列-Python列表全面解析
Python有6個內置的基本數據類型:Number(數字)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典),列表可以算是最常見的數據類型。列表的數據項不需要具有相同的類型。列表是Python里面非常重要的數據類型,列表有多重創建方法,也有比較多的屬性,對應的方法總共有11個,全面掌握這些方法,對數據的處理效率會大大提高,現在分享給大家。
一、列表的創建
01、直接創建
最直接的列表創建,用中括號[]包裹元素,元素使用逗號分隔即可,如下所示:
list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"] list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']02、用list()方法,轉化生成列表
list_b = list("abc") # list_b == ['a', 'b', 'c'] list_c = list((4, 5, 6)) # list_c == [4, 5, 6]03、列表生成式/列表解析式/列表推導式,生成列表。
list_a = [1, 2, 3] list_d = [i for i in list_a]#[1, 2, 3] list_e = [i*j for i in list_a for j in list_c]#[4,5,6,10,12,12,15,18] list_f = [i*j for i,j in zip(list_a,list_c)]#[4, 10, 18] list_g = [i for i in list_a if i%2 == 0]#[2] #結合range()函數,range(start, stop[, step]) list_h = list(range(3)) # [0, 1, 2] list_i = list(range(3,7)) # [3, 4, 5, 6] list_j = list(range(3,9,2)) # [3, 5, 7] #找出100以內的能夠被3整除的正整數 list_k = list(range(3,100,3)) # list_k == [3, 6, 9, ..., 96, 99]二、列表的11個方法
print(dir(list()))#查看列表的方法 [ ..., 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove','reverse', 'sort']01 append()
描述:append() 方法在列表ls最后(末尾)添加一個元素
語法:ls.append(object)
參數:object--可以添加 列表,字典,元組,集合,字符串等。
#append()函數的操作對象是原列表。 ls = [1,2,3,4,5,6] ls.append(12)#添加元素 print(ls) [1, 2, 3, 4, 5, 6, 12] ls.append([1,"a"]) #添加列表 print(ls) [1, 2, 3, 4, 5, 6, 12, [1, 'a']]ls.append({2:"a",3:"hj"}) #添加字典 print(ls) [1, 2, 3, 4, 5, 6, 12, [1, 'a'], {2: 'a', 3: 'hj'}]ls.append((1,"k",3)) #添加元組 print(ls) [1, 2, 3, 4, 5, 6, 12, [1, 'a'], {2: 'a', 3: 'hj'}, (1, 'k', 3)]ls.append({"1","2","h"}) #添加集合 print(ls) [1, 2, 3, 4, 5, 6, 12, [1, 'a'], {2: 'a', 3: 'hj'}, (1, 'k', 3), {'2', 'h', '1'}]ls.append("123abc") #添加字符串 print(ls) [1, 2, 3, 4, 5, 6, 12, [1, 'a'], {2: 'a', 3: 'hj'}, (1, 'k', 3), {'2', 'h', '1'}, '123ab02 clear()
描述:刪除列表ls中的所有元素。
語法:ls.clear()
ls = [1,2,3,"4",5,"a"] ls.clear() print(ls) []?
03 copy()
描述:生成一個新列表,復制ls中的所有元素。
語法: ls.copy() -- list 返回一個列表
ls = [1,2,3,[4,5,6]] lt = ls.copy() #lt復制ls中的所有元素 ls.clear() #刪除ls所有元素,lt中的元素沒有被刪除。 lk = ls #這不是復制,而是給列表ls新關聯一個引用,即增加一個別名,ls和lt指向同一個內存地址。 print(id(ls),id(lk)) print(lt) print(ls)?
04 count()
描述:統計列表ls中value元素出現的次數
語法:ls.count(value)
參數:value--要統計的value元素。
ls = [1,2,3,5,4,5,5,5,5,"python"] ls.count(5) #統計列表ls中 5 出現的次數 5 ls.count(0)#列表ls中無0元素 0 ls.count("python") #統計列表ls中 "python" 出現的次數。 1?
05 extend()
描述:在列表ls末尾添加一個列表iterable。
語法:ls.extend(iterable)
參數:iterable -- 要添加的列表。可以是整個列表iterable,也可以是列表iterable的一部分。
ls = [1,2,"a",[4,5,"a"]] lt = [1,"abc","b",[1,2]] ls.extend(lt) #返回值為空,將列表lt的元素添加到列表ls末尾。 print(ls.extend(lt)) None print(ls) [1, 2, 'a', [4, 5, 'a'], 1, 'abc', 'b', [1, 2], 1, 'abc', 'b', [1, 2]]print(lt) #列表lt元素不變 [1, 'abc', 'b', [1, 2]]注意:extend() 和 append() 的不同之處在于:extend() 不會把列表或者元祖視為一個整體,而是把它們包含的元素逐個添加到列表中
?
06 index()
描述:列表ls中第一次出現元素value的位置。
語法:ls.index(value, start, stop)
參數:
value - 要查找的元素。
star - 索引的起始位置。
stop -索引的結束位置。
?
07 insert()
描述:在列表第index位置,添加元素object。
語法: ls.insert(index, object)
index--元素object插入列表ls的位置。
objece-- 將要添加的元素。可以是列表,元組,字典,集合,字符串等。
08 pop()
描述:將列表ls中第index項元素取出,并從列表ls中刪除該元素。若果省略index,則默認刪除列表最后(末尾)一個元素,并返回該元素。
語法: ls.pop(index) -- item 返回刪除的項
參數: index -- 要取出并刪除的元素下標的序數。
ls = [1,2,"a","y",[1,2,3],"b"] ls.pop(0)#取出下標為0的元素,并從列表ls中刪除。 1 print(ls) [2, 'a', 'y', [1, 2, 3], 'b']ls.pop() #默認取出列表ls最后一個元素,并刪除。 'b' print(ls) [2, 'a', 'y', [1, 2, 3]]?
09 remove()
描述:將列表ls中出現的第一個元素value刪除。
語法:ls.remove(value)
參數:value -- 要刪除的元素。
ls1 = [1,2,"a",3,1,1,55,"a,1"] ls2 = [1,2,"a",3,1,1,55,"a,1"] #刪除ls1中第一次出現的元素 1 ls1.remove(1) ls1 [2, 'a', 3, 1, 1, 55, 'a,1']print(ls1.remove(1))#返回值為空 None#刪除ls2中第一次出現的元素'a,1' ls1.remove('a,1') ls2 [1, 2, 'a', 3, 1, 1, 55] print(ls2.remove('a,1'))#返回值為空 None?
10 reverse()
描述:將列表ls中的元素反轉。
語法:ls.reverse()
ls1 = [1,2,3,4,5,6,7,8,9] ls1.reverse() #將列表ls1反轉輸出 print(ls1) [9, 8, 7, 6, 5, 4, 3, 2, 1]ls2 = [2,5,8,9,4,1,2,6,2,1,3] ls2.sort(reverse=True) #ls2.sort()默認將列表ls2按從小到大的序數排列。reverse=True 使排序后的列表反轉,reverse=False 則不反轉 print(ls2) [9, 8, 6, 5, 4, 3, 2, 2, 2, 1, 1]?
11 sort()
描述:將原列表ls中的元素進行排序,意味著改變原來的列表,而不是返回一個列表
語法:ls.sort([key=None][,reverse=False])--無返回值,但是會對列表中的元素進行排序。
參數:
key-- 可選參數, 如果指定了該參數會使用該參數的方法進行排序。
reverse-- 可選參數,是否反向排序,默認為False。
三、列表腳本操作符
列表對 + 和 * 的操作符與字符串相似。+ 號用于組合列表,* 號用于重復列表。如下所示:
Python 表達式 | 結果 | 描述 |
len([1, 2, 3]) | 3 | 計算長度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 拼接 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重復 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
?
四、列表相關的函數
所謂的函數,就是指內置函數中適用于列表的一些函數,主要包含以下函數:
序號 | 函數 |
1 | len(list):列表元素個數 |
2 | max(list):返回列表元素最大值 |
3 | min(list):返回列表元素最小值 |
4 | list(seq):將元組轉換為列表 |
總結
以上是生活随笔為你收集整理的【Python基础】超级详解系列-Python列表全面解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7电脑创建本地连接网络的操作方法
- 下一篇: TIM怎么显示每条信息的时间