1.什么是列表?
列表是Python中內(nèi)置有序秒拔、可變序列莫矗,列表的所有元素放在一對(duì)中括號(hào)“[]”中,并使用逗號(hào)分隔開(kāi)砂缩;
當(dāng)列表元素增加或刪除時(shí)作谚,列表對(duì)象自動(dòng)進(jìn)行擴(kuò)展或收縮內(nèi)存,保證元素之間沒(méi)有縫隙庵芭;
在Python中食磕,一個(gè)列表中的數(shù)據(jù)類型可以各不相同,可以同時(shí)分別為整數(shù)喳挑、實(shí)數(shù)彬伦、字符串等基本類型滔悉,甚至是列表、元組单绑、字典回官、集合以及其他自定義類型的對(duì)象。
[10, 20, 30, 40]
['crunchy frog', 'ram bladder', 'lark vomit']
['spam', 2.0, 5, [10, 20]]
[['file1', 200,7], ['file2', 260,9]]
list["Python",12,[1,2,3],3.14,True]
print(list)#運(yùn)行結(jié)果為['Python',12,[1,2,3],3.14,True]
2.列表的切片原理
每個(gè)列表(list)中的元素從0開(kāi)始計(jì)數(shù)搂橙,比如
list=[1,2,3,4]
print(list[0])
選取的是第一個(gè)元素歉提,結(jié)果為1
3.列表常用方法
lst.append(x)? ? ? ? 將元素x添加至列表lst尾部
lst.extend(L)?? ? ? ? 將列表L中所有元素添加至列表lst尾部?
lst.insert(index, x)?在列表lst指定位置index處添加元素x,該位置后面的所有元素后移一個(gè)位置?
lst.remove(x)?? ? ? 在列表lst中刪除首次出現(xiàn)的指定元素区转,該元素之后的所有元素前移一個(gè)位置?
lst.pop([index])?? 刪除并返回列表lst中下標(biāo)為index(默認(rèn)為-1)的元素
lst.clear()?? ? ? ? ? ? 刪除列表lst中所有元素苔巨,但保留列表對(duì)象
lst.index(x)?? ? ? ? 返回列表lst中第一個(gè)值為x的元素的下標(biāo),若不存在值為x的元素則拋出異常
lst.count(x)?? ? ? ? 返回指定元素x在列表lst中的出現(xiàn)次數(shù)?
lst.reverse()?? ? ? ? 對(duì)列表lst所有元素進(jìn)行逆序?
lst.sort(key=None, reverse=False)?對(duì)列表lst中的元素進(jìn)行排序废离,key用來(lái)指定排序依據(jù)侄泽,reverse決定升序(False),還是降序(True)?
lst.copy()?? ? ? ? ? 返回列表lst的淺復(fù)制
4.列表元素的刪除(這里就只介紹常規(guī)的操作)
列表刪除操作可以選擇remove方法蜻韭,只需要在變量名字后面加個(gè)句號(hào)就可以輕松調(diào)用悼尾。PyCharm有自動(dòng)聯(lián)想功能,選中目標(biāo)方法或者函數(shù)肖方,按[Tab]鍵即可快速鍵入闺魏。
使用remove刪除列表中的指定元素:
list=[1,2,3,4]
list.remove(3)
print(list)? #刪除第三個(gè)元素,運(yùn)行結(jié)果是[1,2,4]
在刪除列表元素時(shí)俯画,Python會(huì)自動(dòng)對(duì)列表內(nèi)存進(jìn)行收縮并移動(dòng)列表元素以保證所有元素之間沒(méi)有空隙析桥,增加列表元素時(shí)也會(huì)自動(dòng)擴(kuò)展內(nèi)存并對(duì)元素進(jìn)行移動(dòng)以保證元素之間沒(méi)有空隙。每當(dāng)插入或刪除一個(gè)元素之后艰垂,該元素位置后面所有元素的索引就都改變了烹骨。
每日一Python,從最適合新手的編程語(yǔ)言開(kāi)始材泄,從零學(xué)習(xí)編程沮焕。關(guān)注我,持續(xù)更新每日一Python拉宗。