Python 列表list使用介紹
一組有序項目的集合 可變的數(shù)據(jù)類型【可進(jìn)行增刪改查】 列表中可以包含任何數(shù)據(jù)類型,也可包含另一個列表【可任意組合嵌套】 列表是以方括號“[]”包圍的數(shù)據(jù)集合,不同成員以“,”分隔 列表可通過序號訪問其中成員
定義
>>> l = [] #空列表 >>> l = [1,2,3] >>> l = [1,2,3,['a','b']] >>> l = list('linuxeye') >>> l ['l', 'i', 'n', 'u', 'x', 'e', 'y', 'e'] >>> l = list(range(5)) >>> l [0, 1, 2, 3, 4] >>> l = '1;2;3;4;5'.split(';') >>> l ['1', '2', '3', '4', '5']
內(nèi)建函數(shù)list(a_sequence) 可以將一個序列轉(zhuǎn)為列表
索引
正索引是編號是從左到右,0開始;負(fù)索引編號是從右往左,-1、-2 …;取范圍值都是從左至右
>>> LanguageList = ['Python','Shell','Perl','PHP','java','C',"C++","Lisp"]
>>> LanguageList[0] #取第一個值
'Python'
>>> LanguageList[3] #第四個值
'PHP'
>>> LanguageList[3:]
['PHP', 'java', 'C', 'C++', 'Lisp']
>>> LanguageList[:3]
['Python', 'Shell', 'Perl']
>>> LanguageList[2:5]
['Perl', 'PHP', 'java']
>>> LanguageList[-1] #倒數(shù)第一個值 'Lisp' >>> LanguageList[-2] #倒數(shù)第二個值 'C++' >>> LanguageList[-5:] ['PHP', 'java', 'C', 'C++', 'Lisp'] >>> LanguageList[-5:-2] ['PHP', 'java', 'C'] >>> LanguageList[:-2] ['Python', 'Shell', 'Perl', 'PHP', 'java', 'C']
增加元素
>>> LanguageList ['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp'] >>> LanguageList.append('GO') >>> LanguageList ['Python', 'Shell', 'Perl', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO'] >>> LanguageList.insert(3,'Python') #往PHP元素前插入 >>> LanguageList ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO'] >>> LanguageList.extend(['Ruby','C#']) >>> LanguageList ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#']
搜索
>>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#'] >>> LanguageList.index('Python') 0 >>> LanguageList.index('C') 6 >>> LanguageList.index('c') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.index(x): x not in list >>> 'c' in LanguageList False >>> LanguageList.index('Python') #統(tǒng)計一個元素的出現(xiàn)次數(shù) 2
刪除元素
>>> LanguageList = ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'java', 'C', 'C++', 'Lisp', 'GO', 'Ruby', 'C#'] >>> LanguageList.remove('C') >>> LanguageList.remove('Python') >>> LanguageList.remove('c') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list >>> LanguageList.pop() 'C#' >>> LanguageList ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby'] >>> LanguageList.pop(-2) ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'Ruby'] >>> del LanguageList[-3:-1] >>> LanguageList ['Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby']
remove從列表中只刪除一個值的首次出現(xiàn)。
pop會做兩件事: 刪除列表的最后一個元素, 然后返回刪除元素的值。
修改元素
>>> LanguageList = ['Python','Shell', 'Perl', 'Python', 'PHP', 'java', 'Ruby'] >>> LanguageList[-2] = 'C' >>> LanguageList ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'C', 'Ruby'] >>> LanguageList[LanguageList.index('C')] = 'JAVA' >>> LanguageList ['Python', 'Shell', 'Perl', 'Python', 'PHP', 'JAVA', 'Ruby']
運(yùn)算符
>>> LanguageList ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby'] >>> LanguageList = LanguageList + ['Python','C'] >>> LanguageList ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C'] >>> LanguageList += ['java'] >>> LanguageList ['Shell', 'Perl', 'Python', 'PHP', 'java', 'C++', 'Lisp', 'GO', 'Ruby', 'Python', 'C', 'java'] >>> NumList = [1,2,3] * 3 >>> NumList [1, 2, 3, 1, 2, 3, 1, 2, 3]
排序
>>> NumList = [2,5,3,6,1,4] >>> NumList.reverse() >>> NumList [4, 1, 6, 3, 5, 2] >>> NumList[::-1] #和reverse效果相同 >>> NumList [2, 5, 3, 6, 1, 4] >>> NumList.sort() >>> NumList [1, 2, 3, 4, 5, 6]
sort可接受參數(shù)
cmp,比較函數(shù),接受兩個參數(shù),小于時返回負(fù),大于返回正,相等返回0 key,指定排序鍵 reverse,指定是否反序
列表的比較操作 , 隱式調(diào)用cmp方法 , 比較規(guī)則是逐個掃描元素進(jìn)行比較, 如果可以比較 , 則比較, 如果相等掃描下一個元素 , 如果不相等返回結(jié)果 , 如果兩個元素類型不可以比較 , 就比較兩個對象的 id()值。如果一直相等 ,直到一個列表掃描結(jié)束 , 那么返回較長的列表較大
>>> L = [(13,54),(11,59),(15,55),(12,57),(10,56)] >>> L.sort(key=lambda x:x[1]) >>> L [(13, 54), (15, 55), (10, 56), (12, 57), (11, 59)] >>> L.sort(key=lambda x:x[1],reverse=1) #或者reverse=True >>> L [(11, 59), (12, 57), (10, 56), (15, 55), (13, 54)]
sort與sorted函數(shù)區(qū)別
NumList = [2, 5, 3, 6, 1, 4] >>> sorted(NumList) [1, 2, 3, 4, 5, 6] >>> NumList [2, 5, 3, 6, 1, 4] >>> NumList.sort() >>> NumList [1, 2, 3, 4, 5, 6]
sort: 在原list上排序,不返回排序后的list
sorted: 不改變原list,返回排序后的list
相關(guān)文章
pytorch使用voc分割數(shù)據(jù)集訓(xùn)練FCN流程講解
這篇文章主要介紹了pytorch使用voc分割數(shù)據(jù)集訓(xùn)練FCN流程,圖像分割發(fā)展過程也經(jīng)歷了傳統(tǒng)算法到深度學(xué)習(xí)算法的轉(zhuǎn)變,傳統(tǒng)的分割算法包括閾值分割、分水嶺、邊緣檢測等等2022-12-12Python實現(xiàn)批量備份交換機(jī)配置+自動巡檢
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)批量備份交換機(jī)配置+自動巡檢的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11python使用aiohttp通過設(shè)置代理爬取基金數(shù)據(jù)簡單示例
這篇文章主要為大家介紹了python使用aiohttp通過設(shè)置代理爬取基金數(shù)據(jù)簡單示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06使用Python實現(xiàn)windows下的抓包與解析
這篇文章主要介紹了使用Python實現(xiàn)windows下的抓包與解析,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-01