九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
python中的序列對象

在很多的入門書籍中,會針對列表,元組,字符串單獨(dú)進(jìn)行介紹,看完之后,你會發(fā)現(xiàn)有部分操作是相通的,比如根據(jù)下標(biāo)進(jìn)行訪問的操作

>>> a = [1, 2, 3, 4, 5]
>>> b = (1, 2, 3, 4, 5)
>>> c = 'abcdef'
>>> a[0]
1
>>> b[0]
1
>>> c[0]
'a'
>>>

具有相同的操作難道是巧合嗎?其實不然,在python中,有一種類型,稱之為sequence, 序列類型,常見的list, tuple, str, range都屬于序列類型。這里有一個比較特殊的類別range, range函數(shù)用于創(chuàng)建數(shù)值列表,其返回值就是一個range類型, 示意如下

>>> type(range(10))
<class 'range'>
>>> type('abc')
<class 'str'>
>>> type([1,2,3])
<class 'list'>
>>> type((1,2,3))
<class 'tuple'>

序列類型進(jìn)一步分為以下兩類

  1. 可變的序列

  2. 不可變的序列

元組, 字符串以及range類型是不可修改的,屬于不可變的序列類型,list可以動態(tài)修改,屬于可變的序列類型。

對于序列類型,有以下通用操作

1.下標(biāo)訪問操作

python中下標(biāo)從0開始計數(shù),用方括號將下標(biāo)括起來,用法如下

>>> a = [1, 2, 3, 4, 5]
>>> a[0]
1
>>> a[-1]
5

python還支持負(fù)下標(biāo)操作,從序列末尾進(jìn)行計數(shù),最后一個元素為-1, 倒數(shù)第二個為-2, 依次類推。

2. 切片操作

不要被高大上的名稱所迷惑,切片其實就是根據(jù)多個下標(biāo),來選擇子集,用法如下

>>> a = [1, 2, 3, 4, 5]
# 下標(biāo)1到下包3,包含下標(biāo)1,不包含下標(biāo)3
>>> a[1:3]
[2, 3]
# 1:4:2類似rang操作,第三個數(shù)字表示步長
>>> a[1:4:2]
[2, 4]
# 簡寫,從下標(biāo)1到序列末尾
>>> a[1:]
[2, 3, 4, 5]
# 簡寫,從開頭到下標(biāo)-1處
>>> a[:-1]
[1, 2, 3, 4]

切片中區(qū)間為左閉右開,即包含起始下標(biāo),不包括終止下標(biāo),

3. len函數(shù)

len函數(shù)返回序列對象的長度,用法如下

>>> len('abcdef')
6
>>> len(range(10))
10
>>> len((1, 2, 3, 4, 5))
5

4. max函數(shù)

max函數(shù)返回數(shù)值序列的最大值,用法如下

>>> max((1, 2, 3, 4, 5))
5

5.min函數(shù)

min函數(shù)返回數(shù)值序列的最小值,用法如下

>>> min((1, 2, 3, 4, 5))
1

6. sum函數(shù)

sum函數(shù)返回數(shù)值序列的總和,用法如下

>>> sum((1, 2, 3, 4, 5))
15

7. in操作符

用于查看序列中是否包含特定元素,用法如下

>>> 1 in (1, 2, 3, 4, 5)
True
>>> 1 not in (1, 2, 3, 4, 5)
False
>>> 'a' in 'abcdef'
True
>>> 'a' not in 'abcdef'
False

8. +操作符

將兩個序列相連,用法如下

# 多個字符串相連
>>> 'abc' + 'def'
'abcdef'
# 將多個列表合并成
>>> [1, 2, 3] + [4, 5]
[1, 2, 3, 4, 5]

9. *操作符

將一個序列重復(fù)多次,用法如下

>>> 'abc' * 3
'abcabcabc'
>>> (1, 2, 3) * 3
(1, 2, 3, 1, 2, 3, 1, 2, 3)

10. count方法

統(tǒng)計序列中某個元素出現(xiàn)的次數(shù),用法如下

>>> 'abbc'.count('b')
2
>>> (1, 2, 3, 3, 5).count(3)
2

11. index方法

返回序列中某個元素第一次出現(xiàn)的下標(biāo),用法如下

>>> 'abcdef'.index('b')
1
>>> 'abcdcef'.index('c')
2
>>> (1, 2, 3, 4, 5).index(1)
0
>>> (1, 2, 3, 4, 5).index(2)
1

對于列表這種可變的序列類型,還擁有以下操作

1. 修改值

# 根據(jù)下標(biāo)修改對應(yīng)的值
>>> a = [1, 2, 3, 4, 5]
>>> a[0] = 2
>>> a
[2, 2, 3, 4, 5]
# 利用切片修改對應(yīng)的值
>>> a = [1, 2, 3, 4, 5]
>>> a[1:3] = [4, 5, 6]
>>> a
[1, 4, 5, 6, 4, 5]

2. append 追加值

>>> a = [1, 2 , 3, 4, 5]
>>> a.append(6)
>>> a
[1, 2, 3, 4, 5, 6]

3. pop 刪除值

# 默認(rèn)刪除最后一個元素
>>> a = [1, 2 , 3, 4, 5]
>>> a.pop()
5
>>> a
[1, 2, 3, 4]
# 刪除指定下標(biāo)的元素
>>> a.pop(3)
4
>>> a
[1, 2, 3]
#

4. remove刪除值

pop根據(jù)刪除下標(biāo)指定的值,remove直接刪除對應(yīng)的值,用法如下

>>> a = [1, 2, 3, 4, 5]
>>> a.remove(2)
>>> a
[1, 3, 4, 5]

5. del 刪除值

>>> a = [1, 2, 3, 4, 5]
>>> del a[0]
>>> a
[2, 3, 4, 5]
>>> a = [1, 2, 3, 4, 5]
>>> del a[1:2]
>>> a
[1, 3, 4, 5]

6. insert 插入元素

在指定下標(biāo)處,插入元素,用法如下

>>> a = [1, 2, 3, 4, 5]
>>> a.insert(1, 2)
>>> a
[1, 2, 2, 3, 4, 5]

7. extend

將另一個list的元素追加到第一個list的末尾,用法如下

>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5]

8. reverse

將序列元素反向,用法如下

>>> a = [1, 2, 3, 4, 5]
>>> a.reverse()
>>> a
[5, 4, 3, 2, 1]


謹(jǐn)記list, tuple, str, range同為sequence類型,而sequence又分為可變和不可變兩類。

·end·

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
容器類型數(shù)據(jù)(1)--Python
STL 算法集合
泛型函數(shù)簡表(ZZ)
Python進(jìn)階05 循環(huán)設(shè)計
Python列表操作大全(非常全)
python 的列表遍歷刪除
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服