您好,登錄后才能下訂單哦!
列表(list)可以包含任何種類的對象:數字、字符串甚至其他列表。列表是可變對象,支持原處修改,可以通過指定的偏移值和分片、列表方法調用、刪除語句。
列表的屬性:
列表操作:
*支持+(合并)和(重復)操作:**
>>> a=[1,2,3,4,5]
>>>
>>> len(a)
5
>>>
>>> [1,2,3]+[4,5]
[1, 2, 3, 4, 5]
>>>
>>> a*4
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
列表迭代與解析:
>>> 3 in [1,2,3]
True
>>>
>>> 3 not in [1,2,3]
False
>>>
>>> for x in a:
... print(x,end='\n')
...
1
2
3
4
5
列表解析:通過對序列中的每一項應用一個表達式來構建一個新的列表的方式。
>>> resu = [d ** d for d in a]
>>>
>>> resu
[1, 4, 27, 256, 3125]
>>>
>>> a = list('Yert')
>>>
>>> re = [g * 4 for g in a]
>>>
>>> re
['YYYY', 'eeee', 'rrrr', 'tttt']
索引、分片和矩陣:
由于列表屬于序列,索引、分片操作與字符串操作基本相同,然而對列表進行索引的結果是指定的偏移處的對象(不管什么類型),而對列表進行分片時返回一個新的列表。
>>> L = list('Yert')
>>>
>>> L
['Y', 'e', 'r', 't']
>>>
>>> L[2]
'r'
>>> L[2:3]
['r']
>>>
>>> L[-1]
't'
>>> L[1:]
['e', 'r', 't']
列表的嵌套:
>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>>
>>> matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>>
>>> matrix[2]
[7, 8, 9]
>>> matrix[2][1]
8
>>> matrix[1][0]
4
原處修改列表:
列表是屬于可變類型的,支持原處修改列表對象的操作。修改時不會像字符串生成新的對象。
索引與分片的賦值:
可以將列表賦值給一個特定項(偏移)或整個片段(分片)來改變內容。
>>> L = ['Python','Yert','Alan','Ye']
>>>
>>> L[1] = 'Sam'
>>>
>>> L
['Python', 'Sam', 'Alan', 'Ye']
>>>
>>> L[0:2] = ['Java','James']
>>>
>>> L
['Java', 'James', 'Alan', 'Ye']
列表常用方法調用:
>>> L.append('Lank') #插入對象
>>>
>>> L
['Java', 'James', 'Alan', 'Ye', 'Lank']
>>>
>>> L.sort() #對列表對象進行排序
>>> L
['Alan', 'James', 'Java', 'Lank', 'Ye']
Append方法:
簡單的將一個單項(對象引用)添加至列表末端。與合并不相同的是,append允許傳入單一對象而不是列表。L.append(X) 與L+[X]的結果類似,前者會原地修改L,后者會生成新的列表。
Sort方法:
原地對列表進行排序,使用Python標準的比較檢驗作為默認值,而且以遞增的順序進行排序。可以通過傳入關鍵字來修改排序行為——指定按名稱傳遞的函數調用中特殊的”name=value”語法,給定配置選項,在排序中,key參數給出一個單個參數的函數,返回在排序中使用的值,reverse參數允許排序按照降序而不是升序進行。
>>> L=['Agc','aBe','adC']
>>>
>>> L
['Agc', 'aBe', 'adC']
>>>
>>> L.sort(key=str.lower)
>>>
>>> L
['aBe', 'adC', 'Agc']
>>>
>>> L=['Agc','aBe','adC']
>>>
>>> L.sort(key=str.lower,reverse=True)
>>>
>>> L
['Agc', 'adC', 'aBe']
Sort方法可以作為內置方法使用,排序任何對象(列表之外的對象),并且針對結果返回一個新的列表(不是原處修改)。
>>> L = ['abc','ABD','aBe']
>>>
>>> L
['abc', 'ABD', 'aBe']
>>>
>>> sorted(L,key=str.lower,reverse=True)
['aBe', 'ABD', 'abc']
>>>
>>> L = ['abc','ABD','aBe']
>>>
>>> sorted([x.lower() for x in L],reverse=True)
['abe', 'abd', 'abc']
Extend方法可以插入對象,pop方法彈出最后一位對象,reverse函數逆序列表。
>>> L = [1,2,3]
>>>
>>> L.extend([4,5,6,7])
>>>
>>> L
[1, 2, 3, 4, 5, 6, 7]
>>>
>>> L.pop()
7
>>>
>>> L
[1, 2, 3, 4, 5, 6]
>>>
>>> L.reverse()
>>>
>>> L
[6, 5, 4, 3, 2, 1]
>>>
>>> list(reversed(L))
[1, 2, 3, 4, 5, 6]
Pop方法接受某一個即將刪除并返回的元素的偏移(默認值為最后一個元素),這一偏移是可選的。
>>> L = ['a','Alan','d','Yert']
>>>
>>>
>>> help(L.pop) #通過help方法可以查看對象引用方法的說明文檔
Help on built-in function pop:
pop(index=-1, /) method of builtins.list instance
Remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
>>>
>>> L.pop(2)
'd'
>>>
>>> L
['a', 'Alan', 'Yert']
Remove方法移除某元素:
>>> L.remove('a')
>>>
>>> L
['Alan', 'd', 'Yert']
>>>
>>> L = ['a','Alan','d','Yert','a','a','a']
>>>
>>> L
['a', 'Alan', 'd', 'Yert', 'a', 'a', 'a']
>>>
>>> L.remove('a')
>>>
>>> L
['Alan', 'd', 'Yert', 'a', 'a', 'a']
Insert方法在某處偏移插入元素:
>>> L = ['Yert','dd','rm','Sam']
>>>
>>> L
['Yert', 'dd', 'rm', 'Sam']
>>>
>>> L.insert(2,'Jinja')
>>>
>>> L
['Yert', 'dd', 'Jinja', 'rm', 'Sam']
使用del方法刪除列表的某項和分片:
>>> L
['Yert', 'dd', 'Jinja', 'rm', 'Sam']
>>>
>>> del L[1]
>>>
>>> L
['Yert', 'Jinja', 'rm', 'Sam']
>>>
>>> del L[1:]
>>>
>>> L
['Yert']
由于分片賦值時刪除外加插入操作,可以通過將空列表賦值給分片來刪除列表片段(L[i:j]=[])。Python會刪除左側的分片,然后什么也不插入。
將空列表賦值給一個索引,只會在指定的位置存儲空列表的引用,而不是刪除:
>>> L = ['Yert','dd','rm','Sam']
>>>
>>> L[1:] = []
>>>
>>> L
['Yert']
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。