1.列表的基本操作
針對列表的基本操作除了通用序列操作,還有賦值、插入、刪除、排序等 。列表是可變物件型別,因此這些操作都是對原列表的修改,並不生成新的列表
(1)賦值
如果是單個索引,就是單個列表元素的賦值。如果同時給多個列表元素賦值,就可以利用強大的分片功能來賦值。
list是乙個常用的型別轉換函式。list(string)返回乙個列表物件,字串string的每個字元轉換為列表的乙個元素。
(2)刪除元素
刪除列表中指定位置乙個或多個元素的操作是;del list【index】。
若要刪除整個列表,使用命令:del listname。整個列表刪除後,該列表名從命名空間釋放,再次引用該列表就會觸發異常
2.列表物件的基本方法
列表通過賦值定義後,生成列表物件。對列表 物件,可以直接呼叫物件內建的方法。
在通用序列操作中有通過序列相加增長列表的方法。通過序列加法來增加序列元素的數目的方法和extend增長列表的方法不同:列表相加將生成乙個新的列表,而extend是對原來列表的擴充,是對原列表的修改,在原地修改,並不生成新的列表。
(2)計數count、檢索index和插入物件insert
count的功能是統計某個元素在指定列表中出現的次數。
index的功能是在列表中檢索第乙個匹配項的位置。若存在該內容,就返回第乙個匹配元素在列表中的位置,若該內容不存在,則給出錯誤資訊valueerror。
為避免檢索乙個不存在的內容,可先通過成員資格檢查,當內容存在時再用檢索返回具體的位置。
insert是向列表中插入物件的另一種方法。將insert中指定的物件插入到指定位置編號之前。
(3)彈出元素pop
列表是乙個有序資料型別,與堆疊有類似之處,因此列表可以用來模擬堆疊。pop方法是將列表乙個元素刪去的操作。該操作有返回值,返回值就是從列表彈出的元素,但是
del方法沒有返回值,這是兩者的不同。
pop操作允許指定刪除元素的位置,一般的堆疊操作應該滿足「先進後出,後進先出」原則,所以pop只能模擬堆疊操作。pop方法中位置編號i是可以預設的,預設時,list.pop()表示從列表末尾刪除乙個元素並返回該值,這時才和堆疊相似了。
(4)移除remove、逆轉reverse和排序sort
移除操作執行時首先在列表中檢查是否存在要移除的內容,將遇到的第乙個匹配項從列表中刪除,並對其後面的元素重新編號。移除操作也是在原地修改列表,並沒有任何返回值。如果沒有找到要匹配的項,則出現數值錯誤異常。
reverse操作可以把列表中的元素的次序逆轉,該方法也是在原地修改列表,無任何返回值。如果想把逆轉後的列表生成乙個新的列表,不能把reverse的返回值賦給乙個列表,
這樣只能得到乙個空列表。如果要同時保留原列表和逆轉後的列表,可先將原列表複製乙份再進行逆轉。
不能通過賦值語句將列表賦值給另乙個列表,因為賦值語句並沒有複製列表,只是多了乙個指向同乙個列表的指標。
sort方法預設情況下是按照元素的公升序重新排列原列表的元素。排序也不生成新的列表,是對原列表的修改,所以將列表排序後賦值給另乙個列表的操作y=x.sort()後,y將是乙個空列表,其邏輯值為none
list.sort(key=none,reverse=false)
sort有兩個主要引數,reverse表示是否逆序,reverse為true時實現逆序排序;key是排序的依據,比如要根據列表元素的長度進行排序,可以將長度函式len作為關鍵字。
key=len
sort的兩個引數可以單獨使用,也可以一起使用
3.列表的應用
列表巢狀可以構建矩陣。需注意的是列表元素編碼都是從0開始的,而矩陣的行列值可能從1開始。
python基礎 列表拷貝操作和字典操作
1 淺拷貝 只拷貝一級,其他的層級沿用以前的資料 lst 1,2,3 方法一.列表.copy lst2 lst.copy 深拷貝語法 lst 1,2,3,4,5,6 lst2 copy.deepcopy lst lst 1 insert 1,888 print lst print lst2 查 ge...
python列表基本操作
列表的基本操作示例展示 功能 列表追加元素 name sd dfdf drer 返回結果 name sd dfdf drer sdsd clear 功能 情況列表元素 name sd dfdf drer name.clear 返回結果 name copy 功能 淺拷貝,即只拷貝第一層的元素 name...
Python列表基本操作
方法名稱 功能描述 在列表尾部增加元素 clear 列表清空 copy 複製生成另外乙個列表 count 統計指定元素的個數 extend 兩個列表元素合併 index 返回指定元素的下標 insert 在指定位置插入新元素 pop刪除並返回指定下標對應的元素 remove 刪除列表內指定元素 re...