list(列表) 是 python 中使用最頻繁的資料型別。
列表可以完成大多數集合類的資料結構實現。它的資料項不需要具有相同的型別,支援字元,數字,字串甚至可以包含列表(即巢狀)。
列表用 [ ] 標識,方括號內的使用逗號分隔值,是 python 最通用的復合資料型別。
建立乙個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。如下所示:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
與字串的索引一樣,列表索引從0開始。列表可以進行擷取、組合等。
列表中的每個元素都分配乙個數字 - 它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。
列表中值的切割也可以用到變數 [頭下標:尾下標] ,就可以擷取相應的列表,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,python已經內建確定序列的長度以及確定最大和最小的元素的方法。
使用下標索引來訪問列表中的值,同樣你也可以使用方括號的形式擷取字元,如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
以上例項輸出結果:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
#!/usr/bin/python
# -*- coding: utf-8 -*-
list = ## 空列表
print list
以上例項輸出結果:
['citic', 'ops']
可以使用 del 語句來刪除列表的元素,如下例項:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "after deleting value at index 2 : "
print list1
以上例項輸出結果:
['physics', 'chemistry', 1997, 2000]
after deleting value at index 2 :
['physics', 'chemistry', 2000]
注意:我們會在接下來的章節討論remove()方法的使用
列表對 + 和 * 的操作符與字串相似。+ 號用於組合列表,* 號用於重複列表。
如下所示:
python 表示式
結果描述
len([1, 2, 3])3長度
[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
組合['hi!'] * 4
['hi!', 'hi!', 'hi!', 'hi!']
重複3 in [1, 2, 3]
true
元素是否存在於列表中
for x in [1, 2, 3]: print x,
1 2 3
迭代python 的列表擷取例項如下:
#!/usr/bin/python
l = ['citic', 'ops', 'python']
print l[2]
print l[-2]
print l[1:]
輸出:
python
ops['ops', 'python']
描述:python 表示式
結果描述
l[2]
'python'
讀取列表中第三個元素
l[-2]
'ops'
讀取列表中倒數第二個元素
l[1:]
['ops', 'python']
從第二個元素開始擷取列表
元組是另乙個資料型別,類似於 list(列表)。
元組用 () 標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於唯讀列表。
#!/usr/bin/python # -*- coding: utf-8 -*- tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # 輸出完整元組 print tuple[0] # 輸出元組的第乙個元素 print tuple[1:3] # 輸出第二個至第四個(不包含)的元素 print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素 print tinytuple * 2 # 輸出元組兩次 print tuple + tinytuple # 列印組合的元組
以上例項輸出結果:
('runoob', 786, 2.23, 'john', 70.2)
runoob
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
以下是元組無效的,因為元組是不允許更新的。而列表是允許更新的:
#!/usr/bin/python # -*- coding: utf-8 -*- tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # 元組中是非法應用 list[2] = 1000 # 列表中是合法應用
python包含以下函式:
序號函式
1cmp(list1, list2)
比較兩個列表的元素
2len(list)
列表元素個數
3max(list)
返回列表元素最大值
4min(list)
返回列表元素最小值
5list(seq)
將元組轉換為列表
python包含以下方法:
序號方法
1在列表末尾新增新的物件
2list.count(obj)
統計某個元素在列表**現的次數
3list.extend(seq)
在列表末尾一次性追加另乙個序列中的多個值(用新列表擴充套件原來的列表)
4list.index(obj)
從列表中找出某個值第乙個匹配項的索引位置
5list.insert(index, obj)
將物件插入列表
6list.pop([index=-1])
移除列表中的乙個元素(預設最後乙個元素),並且返回該元素的值
7list.remove(obj)
移除列表中某個值的第乙個匹配項
8list.reverse()
反向列表中元素
9list.sort(cmp=none, key=none, reverse=false)
對原列表進行排序
元組是另乙個資料型別,類似於 list(列表)。
元組用 () 標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於唯讀列表。
#!/usr/bin/python以上例項輸出結果:# -*- coding: utf-8 -*-
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print tuple # 輸出完整元組
print tuple[0] # 輸出元組的第乙個元素
print tuple[1:3] # 輸出第二個至第四個(不包含)的元素
print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素
print tinytuple * 2 # 輸出元組兩次
print tuple + tinytuple # 列印組合的元組
('runoob', 786, 2.23, 'john', 70.2)
runoob
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
以下是元組無效的,因為元組是不允許更新的。而列表是允許更新的:
#!/usr/bin/python# -*- coding: utf-8 -*-
tuple = ('runoob', 786, 2.23, 'john', 70.2)
list = ['runoob', 786, 2.23, 'john', 70.2]
tuple[2] = 1000 # 元組中是非法應用
list[2] = 1000 # 列表中是合法應用
5 python教程 函式
coding utf 8 表示檔案的編碼是utf8 fun1的函式體為空 需要使用pass語句佔位,因為函式體至少要有乙個句 對編寫框架程式有用處 def fun1 pass 乙個最簡單的函式,輸入乙個數,返回這個數的兩倍 def fun2 i return i 2 返回多個值,返回值是乙個元組 d...
5 python 文字解析
5.python 文字解析 這一章節我們簡單的聊聊文字解析的兩種方法 1.分片,通過分片,記錄偏移處,然後提取想要的字串 例子 line aaa bbb ccc col1 line 0 3 col3 line 8 col1 aaa col3 ccc 2.split line aaa bbb ccc ...
Python基礎5 Python字典
字典的基本操作 建立字典 字典中儲存的是鍵值對,鍵和值用 分割,每個鍵值對之間用逗號分割,所有元素用 括起來 字典中元素的鍵必須唯一且不可變 examdict print examdict 訪問字典中的值 print examdict name tina 新增字典元素 examdict age 30...