python list 之 基本操作

2021-07-24 19:53:29 字數 2808 閱讀 8727

list 是有序集合,類似c中的陣列,

新增元素

對其新增元素一般有四種基本操作:

2.extend( )

3.insert( )

4. +

新增單個引數到list尾部,引數可以為任意資料型別。

特點為 整體新增,會保持原來的資料型別

格式:list.extend( 引數 )

將單個引數新增到 list 尾部 ,該引數資料型別一般是list (如果是元組,會被打散新增入list,如果是字典,則只會讀入key)

由此可見,extend 是將 引數list2 中的每個元素打散後依個新增入list1

ⅲ. insert( )

格式:insert(index,element)

將乙個元素插入到list中指定位置,包含兩個引數:index

元素插入的位置,element

元素本身

格式: list_1+list_2

與上述三個操作不同的是,上述三個操作是直接對list本身進行修改,無返回值。+ 操作是生成乙個全新的list物件。缺陷也就是會浪費空間。attention: 少用 + 操作。

刪除元素

一般有三種操作:

1.  list.remove( 引數  )

2.  list.pop( 引數 )

3.  del( 引數 )

ⅰ. remove()

格式:list.remove( 引數 )

引數為具體的值,刪除list中第乙個與引數值相等的元素

attention:remove()使用索引進行刪除可能出錯!

ⅱ. pop()

格式:list.pop( index )

引數為 list 中 對應要刪除的元素的 索引,若無引數,則預設刪除最後乙個元素(類似 stl_棧)。

pop()有返回值,返回值為被刪除的元素。

格式:del(引數)

引數為 list中的元素,用index表示

新增與刪除總結:

①  刪除list中的乙個元素後,後續元素後立刻補缺,index隨之變化,所以存在乙個遍歷刪除時的安全性問題:

如圖所示,想要遍歷刪除a中的所有元素,結果發現只刪除了1,3,剩下2沒有被刪除,這就是因為在remove( 1 )後,後續元素補缺,而f

or迴圈中的index則往後繼續推進(+1),可是a本身長度卻減少了(-1),所以安全靠譜的遍歷刪除code如下:

常用list操作函式

1.  min()返回list最小元素

2.  max()返回list最大元素

3. len()返回list元素個數

4.  cmp()比較兩個列表,返回值有1(>),-1(

a)   如果元素型別相同,則比較值,返回結果

b)   如果元素型別相同,則強制轉化:

i.         如果是不同型別的數字,執行數字型別轉化後比較

ii.         如果有一方是數字,則數字的權值最小,小於list,tuple,dictionary

iii.         如果都不是數字,按型別名字的字母順序進行比較

c)如果相等則判斷下乙個元素,若完全相同則返回0,若前面都相同,但有乙個list已到達列尾,則該list 小。

5. list.count(引數 ) 返回某元素在list出現的次數

6. list.reserve(list名 ) 將list反轉,無返回值

7. list.index( 引數 ) 返回list中的第乙個出現引數的索引位置

8. list.sort( [function] ) 將list中元素按照function進行排序(後續將詳細學習)

python list基本操作

1 list列表,陣列 stus yangguo 小龍女 哈根達斯 琪琪 下標,索引,角標 0,1,2,3 print stus 1 stus list 2 新增 list 末尾增加乙個元素 stus.insert 0,小明 stus.insert 20,mike print stus的長度是 le...

Python list的基本操作

name 1 2 3 print name 想要插入多個物件,使用extend 需要注意的是extend中的引數 必須是列表,需要將多個物件組合成列表的形式 因此,extend還可以將兩個列表進行合併 例子如下 name.extend p print name list的三種刪除方法,推薦第一種和第...

python list常用操作

list的常用操作 因為列表是可變的,大多數列表的方法都會就地改變列表物件 2.pop 2 移除給定偏移量的一項,從而使列表減小 3.remove 按照值移除元素 4.insert可以在任意位置插入元素 5.sort 預設按照公升序對列表進行排序,reverse對列表進行反轉,都直接對列表進行了改變...