一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python中列表和元組的相關(guān)語句和方法講解

Python中列表和元組的相關(guān)語句和方法講解

2020-07-30 11:36一線涯 Python

這篇文章主要介紹了Python中列表和元組的相關(guān)語句和方法講解,是Python入門學習中的基礎知識,需要的朋友可以參考下

列表(list):

首先,列表屬于序列,那么序列類型可用如下內(nèi)建函數(shù)——
list(iter):把可迭代對象轉(zhuǎn)換為列表。
str(obj):把obj對象轉(zhuǎn)換為字符串,即用字符串來表示這個對象。
tuple(iter):把一個可迭代對象轉(zhuǎn)換為一個元組
unicode(obj):把對象轉(zhuǎn)換成Unicode字符串。
basestring():抽象工廠函數(shù),其作用僅僅是為str和unicode函數(shù)提供父類,所以不能被實例化,也不能被調(diào)用。
enumerate(iter):接受一個可迭代對象作為參數(shù),返回一個enumerate對象,該對象生成由iter每個元素的index值和item值組成的元組。
len(seq):返回seq的長度。
max(iter,key=None)、max(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最大值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用于比較的回調(diào)函數(shù)。
min(iter,key=None)、min(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最小值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用于比較的回調(diào)函數(shù)。
reversed(seq):接受一個序列作為參數(shù),返回一個以逆序訪問的迭代器。
sorted(iter,cmp=None,key=None,reverse=False):接受一個可迭代對象作為參數(shù),返回一個有序的列表,可選參數(shù)cmp、key和reverse和list.sort()內(nèi)建函數(shù)含義一樣。
sum(seq,init=0):返回seq和可選參數(shù)init的總和,其效果等同于reduce(operator.add,seq,init)。
zip([it0,it1...]):返回一個列表,其第一個元素是it0、it1...這些元素的第一個元素組成的一個元組,其它元素依次類推。

列表就像一個線性容器,但是比C++的 lis t擴展多得多
列表里的元素可以是相同類型,也可以包含各種類型,比如列表里嵌套另一個列表

列表示例:

?
1
2
3
4
5
6
7
8
9
>>> L1 = [1,2,3]
>>> type(L1)
<class 'list'>
>>> L1 = [1,'a',2,1.4]
>>> L1
[1, 'a', 2, 1.4]
>>> L1 = [ ['sub'],1,'n']
>>> L1
[['sub'], 1, 'n']

list的索引是也是從0開始,但也可以從后訪問,L1[-1] 表示L1中的最后一個元素

?
1
2
3
4
5
6
>>> L1
[['sub'], 1, 'n']
>>> L1[0]
['sub']
>>> L1[-1]
'n'

對列表可以進行切片,切片的操作類似于對函數(shù)的調(diào)用,返回值一個新的列表
切片 L1[ x : y : z ] 是半開閉區(qū)間(z通常不用寫),如L1[1:3] 返回的是一個從 L1[1] 開始到 L1[2] 結(jié)束的列表,不包含L1[3]
x 不寫表示從頭開始,y 不寫表示直到列表結(jié)束,z 用于表示步長, 默認是1, 可以認為是在這個區(qū)間里每 z 個元素取一個(取第一個),可以是負數(shù),表示從后到前遍歷

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> L1 = [1,2,3,4,5,6]
>>> L1[1:3]
[2, 3]
>>> L1[:3]
[1, 2, 3]
>>> L1[1:]
[2, 3, 4, 5, 6]
>>> L1[-3:-1]
[4, 5]
>>> L2 = L1[:]
>>> L2
[1, 2, 3, 4, 5, 6]
>>> L1[::2]
[1, 3, 5]
>>> L1[::-1]
[6, 5, 4, 3, 2, 1]

 

列表可以做加法,做乘法,字符串也可以看做一個字符的列表

?
1
2
3
4
5
6
>>> L1 = [1,2]
>>> L2 = [3,4]
>>> L1 + L2
[1, 2, 3, 4]
>>> 5 * L1
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]

in語句,判斷一個對象是否在一個字符串/列表/元組里
not 語句表示對后面的否定
len  可以檢測字符串/列表/元祖/字典的元素個數(shù)
max 可以返回最大元素,min 返回最小元素

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> L1
[1, 2, 3, 4, 2]
>>> 3 in L1
True
>>> 5 in L1
False
>>> 3 not in L1
False
>>> 5 not in L1
True
>>> len(L1)
5
>>> max(L1)
4
>>> min(L1)
1

操作:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> #賦值
>>> L1[1] = 5
>>> L1
[1, 5, 3, 4, 2]
>>> #刪除
>>> del L1[1]
>>> L1
[1, 3, 4, 2]
>>> #分片賦值
>>> L1[2:] = [6,7,8]
>>> L1
[1, 3, 6, 7, 8]
>>> L1[1:3] = []
>>> L1
[1, 7, 8]

list 的函數(shù):
append( x ) 是將 x 作為一個元素添加到列表的末尾,即使 x 是一個列表

?
1
2
3
4
5
6
7
8
9
10
>>> L1
[1, 2, 7, 8]
>>> L1.append(3)
>>> L1
[1, 2, 7, 8, 3]
>>> L1.append([4,5])
>>> L1
[1, 2, 7, 8, 3, [4, 5]]
>>> 4 in L1
False


count( x) 統(tǒng)計 x 在列表中出現(xiàn)的次數(shù)

?
1
2
3
4
5
>>> L1 = [1, 2, 7, 8]
>>> L1.count(2)
1
>>> L1.count(3)
0


extend( x ) 將x 作為一個列表與原列表合并,添加到末尾。若不是列表,則編譯器嘗試將 x 轉(zhuǎn)換為列表然后執(zhí)行操作,不成功就會報錯

?
1
2
3
4
5
6
7
>>> L1
[1, 2, 7, 8]
>>> L1.extend([4,5])
>>> L1
[1, 2, 7, 8, 4, 5]
>>> 4 in L1
True


index ( x ) 返回 x 在列表中的坐標,若 x 不在列表中會出錯

?
1
2
>>> L1.index(2)
1

insert( i , x) 在位置i 插入元素x

?
1
2
3
4
5
6
7
8
>>> L1
[1, 2, 7, 8, 4, 5]
>>> L1.insert(0,'a')
>>> L1
['a', 1, 2, 7, 8, 4, 5]
>>> L1.insert(-1,'b')
>>> L1
['a', 1, 2, 7, 8, 4, 'b', 5]

pop( i ) 刪除位置 i 的元素并將它返回,默認可以不寫 i ,刪除最后一個元素,不存在會出錯

?
1
2
3
4
5
6
7
8
9
>>> L1 = [1, 2, 7, 8]
>>> L1.pop(1)
2
>>> L1
[1, 7, 8]
>>> L1.pop()
8
>>> L1
[1, 7]

remove( x ) 移除在 列表中 x 的第一個匹配項,x 不存在會出錯

?
1
2
3
>>> L1.remove(2)
>>> L1
[1, 7, 8]


reverse() 將列表逆序

?
1
2
3
4
>>> L1 = [1, 2, 7, 8]
>>> L1.reverse()
>>> L1
[8, 7, 2, 1]


sort 將原列表排序,返回None,有兩個可選參數(shù),key 和 reverse,默認為升序排列

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> L1
[8, 7, 2, 1]
>>> L1.sort()
>>> L1
[1, 2, 7, 8]
>>> L1.sort(reverse = True)
>>> L1
[8, 7, 2, 1]
 
 
>>> L1 = ['a','ccc','abcd','bc','cd','abc']
>>> L1.sort(key = len)
>>> L1
['a', 'bc', 'cd', 'ccc', 'abc', 'abcd']

元組(tuple)
元組也屬于序列,但元組為不可修改的列表。所以元組沒有以上序列通用方法可用!
一個元素的元組表示為 ( 1 , )

?
1
2
3
4
5
6
>>> x = (1,)
>>> type(x)
<class 'tuple'>
>>> x = (1)
>>> type(x)
<class 'int'>

元組可轉(zhuǎn)換成列表,反之亦然。
內(nèi)建的 tuple() 函數(shù)接受一個列表參數(shù),并返回一個包含同樣元素的元組,而 list() 函數(shù)接受一個元組參數(shù)并返回一個列表。
從效果上看, tuple() 凍結(jié)列表,而 list() 融化元組。

?
1
2
3
4
5
6
7
8
9
10
11
12
>>> x = [1,2,4,3,1]
>>> y = (1,2,4,3,1)
>>> type(x)
<class 'list'>
>>> type(y)
<class 'tuple'>
>>> z = tuple(x)
>>> z
(1, 2, 4, 3, 1)
>>> z = list(y)
>>> z
[1, 2, 4, 3, 1]

可以用列表 或 元組 進行一次多賦值:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
>>> L1 = (1,2,4)
>>> (x, y, z) = L1
>>> x
1
>>> y
2
>>> z
4
 
>>> L1 = [1,2,4]
>>> (x,y,z) = L1
>>> x
1
>>> y
2
>>> z
4


[] ,和 () 在布爾值中表示 False

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产高清久久久久 | 久久99精国产一区二区三区四区 | 亚洲福利天堂网福利在线观看 | 精品国产91久久久久久久 | 男女男在线精品网站免费观看 | 日韩亚洲人成在线综合 | 三级理论在线观看 | 日韩欧美国产免费看清风阁 | 女人张开腿让男人桶视频免费大全 | 特黄视频免费看 | 91尤物在线 | 亚洲欧美日韩精品高清 | 紧身牛仔裤美女被啪啪久久网 | 紧身短裙女教师波多野 | 暴露狂婷婷医院暴露tx | 明星ai人脸替换造梦在线播放 | 国产成人盗摄精品 | 99在线免费观看 | 息与子中文字幕bd | 大伊香蕉精品视频一区 | 免费全看男女拍拍拍的视频 | 人人揉揉香蕉 | 沉香如屑西瓜视频免费观看完整版 | 俺去俺来也在线www色官网 | 日本不卡视频免费的 | 欧美精品国产一区二区三区 | 日本人妖在线 | 国产精品日本一区二区不卡视频 | 女教师三级做受 | 国产福利在线免费观看 | 美女扒开腿让男人桶爽免费gif | 久久综合香蕉久久久久久久 | ady成人映画网站官网 | 操久久| 日本视频免费看 | 日韩精品福利视频一区二区三区 | 草嫩社区 | a国产在线 | 青草视频在线观看免费视频 | 国产欧美日韩在线播放 | 99热热99 |