Python_List列表

  1. Python 列表 list
    基礎數據結構,每個元素都分配一個數字–位置或索引 和 鍵值;
    列表的大數據項不需要具有相同的類型;
>>> l1 = [1,'name','python',88]   #創建列表
>>> type(l1)    #查看是否爲列表類型
<class 'list'>
>>> print(l1[2])  #索引列表元素,從0開始,顯示第三個元素也就索引2
python
>>> print(l1[-1])  #索引最後一個元素
>>> print(l1[1:3])  #元素切片,去序列1到3的值,但不包括3
['name', 'python']
>>> print(l1[-3:-1]) #取最後三個元素,但不包括最後一個
['name', 'python']
>>> print(l1[-3:])   #去最後三個元素
['name', 'python', 88]
>>> print(l1[:])    #去索引值,實際省略了前面的0
[1, 'name', 'python', 88]

>>> l2 = [l1[2],"very good"]  #索引元素創建新列表
>>> print(l2)
['python', 'very good']   
>>> l2+[1,2,3,4,5]   #鏈接列表
['python', 'very good', 1, 2, 3, 4, 5]

列表是可變的,它允許修改元素:
>>> l3 = [1,2,3]
>>> l3[1]=255    #修改第二個元素爲255
>>> print(l3)
[1, 255, 3]
也可以切片賦值清空列表:
>>> l4=['a','b','c','d','e']   
>>> print(l4)
['a', 'b', 'c', 'd', 'e']
>>> l4[1:4]=['B','C','D']   #修改索引1-4但不包括4的值
>>> print(l4)
['a', 'B', 'C', 'D', 'e']
>>> l4[1:4]=[]    #清空1-4索引的值,不包括4
>>>del l4[1:4]  #也可以使用del刪除列表中的元素
>>> print(l4)
['a', 'e']
>>> l4[0:]=[]    #清空列表,但列表對象還在,只是爲空
>>>del l4     #刪除列表,會把整個列表對象刪除
>>> print(l4)
[]

列表允許嵌套列表或元組,字典:
>>> l5 = ['a','b','c']
>>> l6 = [1,2,3]
>>> l7 = [l5,l6]   #使用列表生成嵌套列表
>>> l7
[['a', 'b', 'c'], [1, 2, 3]]
>>> l7[0]     #就是列表了 
['a', 'b', 'c']
>>> l7[1]
[1, 2, 3]
>>> l7[0][1]  #嵌套取值,先去列表本身的第1個索引,然後第1個索引元素是列表,可以再索引列表中第2個元素。
'b'
>>> l7[1][1]

2.列表操作符
len()獲取個數,(+)組合操作,(*)重複操作,(in)判斷操作

>>> l7 =[1,2,3,4,5,6]
>>> len(l7)   #列表元素個數
>>> l8 =[1,2,3]+[4,5,6]  #組合列表
>>> l8
[1, 2, 3, 4, 5, 6]
>>> l9=l7*3   #重複列表元素
>>> l9
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
>>> 3 in l9    #元素是否在列表中
True
>>> for i in l7:print(i)  #迭代,循環列表元素
... 
2
4
6

3.列表函數
len,max,min,list,
cmp(python3中以operator模塊代替) cmp判斷字符在ASCII碼中位值作比較,如a<b返回-1,a>b返回1,a=b返回0;

# python 2.7
>>> cmp('a','b')  # cmp判斷字符在ASCII碼中位置做比較,如a<b返回-1,a>b返回1,a=b返回0
-1
>>> ord('a')
97
>>> ord('b')
98
>>> ord('c')
99
>>> cmp('a','a')
0
>>> cmp('b','a')

4.列表方法

>>> l1 = [1,2,3,4]
>>> l1.append('one') # 增加元素
>>> l1
[1, 2, 3, 4, 'one']
>>> l1.append([2,2,2,])  # 增加列表對象
>>> l1
[1, 2, 3, 4, 'one', [2, 2, 2]]
>>> l1.count(2)  # 查找元素在列表中出現的次數
1
>>> l1.count('22')
0
>>> l1.append(2)
>>> l1.count(2)
2
>>> l1.extend([4,5,6]) # 兩個列表擴展
>>> l1
[1, 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5, 6]
>>> l1.index('one') # 查詢元素在列表中的索引並返回
4
>>> l1.insert(1,('song','ong')) # 在列表索引爲1前插入元素
>>> l1
[1, ('song', 'ong'), 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5, 6]
>>> l1.pop() # 移除列表中的元素 無參數則從最後一個移除 並返回該元素的value
6
>>> l1
[1, ('song', 'ong'), 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5]
>>> l1.pop(1) # 移除列表索引爲1的元素 返回
('song', 'ong')
>>> l1
[1, 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5]
>>> l1.remove('one') # 移除value值爲one的元素 若不存在則拋出 
>>> l1
[1, 2, 3, 4, [2, 2, 2], 2, 4, 5]
>>> l1.remove(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> l1.remove(1)
>>> l1
[2, 3, 4, [2, 2, 2], 2, 4, 5]
>>> l1.sort() # 對列表進行排序 排序對多種類型元素存在的列表會拋出異常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'list' and 'int'
>>> l1.remove(3) # 這裏是刪除 值 爲3的元素  刪除指定索引的元素用pop
>>> l1
[2, 4, [2, 2, 2], 2, 4, 5]
>>> l1.remove(2)
>>> l1
[4, [2, 2, 2], 2, 4, 5]
>>> l1.pop(1) # 移除指定索引的值
[2, 2, 2]
>>> l1
[4, 2, 4, 5]
>>> l1.sort()
>>> l1
[2, 4, 4, 5]
>>> l1.reverse() # 對列表進行反向排序
>>> l1
[5, 4, 4, 2]

轉自:http://www.cnblogs.com/zhangxinqi/p/7592213.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章