通用序列操作:索引溉潭、切片、加少欺、乘喳瓣、成員資格檢查、序列長度赞别、最大最小元素
1畏陕、索引
>>> greeting = 'hello
>>> greeting[0]
'h'
>>> greeting[-1]
'o'
>>> 'hello'[1]
'e'
2、切片
>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:1]
[1]
>>> numbers[-3:-1]
[8, 9]
>>> numbers[-3:0] # 左邊索引比用變索引晚出現(xiàn)仿滔,結(jié)構(gòu)就是空序列
[]
>>> numbers[-3:] # 從后往前
[8, 9, 10]
>>> numbers[:3] # 從前往后
[1, 2, 3]
>>> numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 復(fù)制序列
2.1惠毁、步長
>>> numbers[0:10:1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[0:10:2]
[1, 3, 5, 7, 9]
>>> numbers[::4] # 取每四個元素中的第一個
[1, 5, 9]`
>>> numbers[8:3:-1] # 從右往左取
[9, 8, 7, 6, 5]
>>> numbers[10:0:-2] # 從右往左每兩個取右邊第一個
[10, 8, 6, 4, 2]
>>> numbers[0:10:-2]
[]
>>> numbers[::-2]
[10, 8, 6, 4, 2]
>>>numbers[5::-2]
[6, 4, 2]
>>> numbers[:5:-2]
[10, 8]
開始點(diǎn)的元素(最左邊的元素)包括在結(jié)果中,而結(jié)束點(diǎn)的元素(最右 邊的元素)則不在切片之內(nèi)崎页。當(dāng)使用一個負(fù)數(shù)作為步長時(shí)鞠绰,必須讓開始點(diǎn)(開始索引)大于結(jié)束點(diǎn)。在沒有明確指定開始點(diǎn)和結(jié)束點(diǎn)的時(shí)候飒焦,正負(fù)數(shù)的使用可能會帶來一些混淆蜈膨。不過在這種情況下Python會進(jìn)行正確的操作:對于一個整數(shù)步長,Python會從序列的頭部開始向右提取元素牺荠;而對于負(fù)數(shù)步長翁巍,則是從序列的尾部開始向左提取元素,直到第一個元素休雌。
3灶壶、序列加法
>>> [1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]
>>> 'hello' + 'world''helloworld'
>>> [1,2,3] + 'hello'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list
注:兩種相同類型的序列才能連接操作
4、乘法
>>> 'python' * 5
'pythonpythonpythonpythonpython'
>>> [1,2] * 10
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
>>> [None] * 10
[None, None, None, None, None, None, None, None, None, None]
#長度為10杈曲,無元素的列表
5例朱、成員資格檢查
>>> str = 'resfjs'
>>> 'f' in str
True
>> 'w' in str
False
6孝情、序列長度,最大最小元素
>>> numbers = [100, 34, 678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34