【python】list 的用法

楊奇龍發表於2011-07-23
定義及初始化生成List物件
shopList = []
或者
shopList = ['apple','mango','banana','carrot']
 
從List中取出物件,類似其他開發語言中的陣列用法用listname[index],代表從前開始取第index個物件(第一個從0開始記),不同的是多了一種用負數取物件listname[-index],代表從後開始取第index個物件(第一個從-1開始記)
>>> shoplist[0]
'apple'
>>> shoplist[-1]
'carrot'
其實負數 A取法可以換算為:listname[len(listname) + A]
 
從List中擷取部分物件生成新List:listname[fromIndex:toIndex]代表取出索引從fromIndex到toIndex,但不包括toIndex的元素,這個也叫做List的分片
shopList[0:2]取出從0開始到第2個元素但不包括shopList[2],所以結果就相當於取出了shopList[0]和shopList[1]組合成的新List
結果為['a','b']
‘:’兩邊的值可以省略,前面省略代表0,後面省略代表List長度
shopList[0:2]相當於shopList[:2]
>>> shoplist[2:]
['banana', 'carrot']
>>> shoplist[1:3] 
['mango', 'banana']
 
向List新增物件有3種方法
1)向List後面新增一個物件:listname.append(obj)
例:
shopList = ['apple','mango','banana','carrot']
>>> shoplist.append('meat')
>>> shoplist
['apple', 'mango', 'banana', 'carrot', 'meat']
2)向List中間指定索引位置插入一個物件:listname.insert(index,obj)
例:
shopList = ['apple','mango','banana','carrot']
>>> shoplist.insert(3,'rice')
>>> shoplist
['apple', 'mango', 'banana', 'rice', 'carrot', 'meat']
3)向List中新增一個List中的多個物件,相當於兩個List相加:listname.extend(listname2)
例:
shopList = ['apple','mango','banana','carrot']
>>> shoplist2=['todou','maizi']
>>> shoplist2.extend(shoplist)
>>> shoplist2
['todou', 'maizi', 'apple', 'mango', 'banana', 'rice', 'carrot', 'meat']

4)判斷某個物件是否在List中:obj in listname
例:
shopList = ['apple','mango','banana','carrot']
>>> 'apple' in shoplist
True
 
5)在List中搜尋物件:listname.index(obj)
注:如果List中存在多個相同obj,則返回的是首次出現的索引,如果List中不存在該物件會丟擲異常,所以查詢物件之前一定要先判斷一下物件是否在List中,以免引起程式崩潰
例:
shopList = ['apple','mango','banana','carrot']
>>> shoplist.index('apple')
0
>>> shoplist.index('rice') 

7)刪除List中的物件:listname.remove(obj)
注:如果List中存在多個相同obj,則刪除的是首次出現的物件,如果List中不存在該物件則會丟擲異常,所以在刪除之前也要判斷物件是否在List中
例:
>>> shoplist.remove('apple')
>>> shoplist
['mango', 'banana', 'rice', 'carrot']

 
對List進行運算
1)相加:listname1 + listname2 
注:結果為新生成一個List,並沒有修改之前的兩個List
例:
>>> shoplist + shoplist2
['mango', 'banana', 'rice', 'carrot', 'meat', 'todou', 'maizi', 'apple', 'mango', 'banana', 'rice', 'carrot', 'meat', 'todou', 'maizi', 'apple', 'mango', 'banana', 'rice', 'carrot', 'meat']
2)倍數:listname*n
>>> shoplist * 2
['mango', 'banana', 'rice', 'carrot', 'mango', 'banana', 'rice', 'carrot']
注意:沒有減法:
>>> shoplist - shoplist2
Traceback (most recent call last):
  File "", line 1, in ?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-702940/,如需轉載,請註明出處,否則將追究法律責任。

相關文章