Python 序列的切片整合

最近學習python,用的是python3,作個小筆記:python

a = 'Iloveyou'
 print(len(a))
 8
print(max(a))
'y'
print(min(a))
'I'
print(bool('o' in a))
True
print(a + a)
'IloveyouIloveyou'

print(a*3)
'IloveyouIloveyouIloveyou'
print(a[1:4])
'lov'
print(a.index('y'))
5
print(
a[5])
'y'

切片操做shell

對於具備序列結構的數據來講,切片操做的方法是:consequence[start_index: end_index: step]。學習

  • start_index:表示是第一個元素對象,正索引位置默認爲0;負索引位置默認爲 -len(consequence)
  • end_index:表示是最後一個元素對象,正索引位置默認爲 len(consequence)-1;負索引位置默認爲 -1。
  • step:表示取值的步長,默認爲1,步長值不能爲0。

[注意]對於序列結構數據來講,索引和步長都具備正負兩個值,分別表示左右兩個方向取值。索引的正方向從左往右取值,起始位置爲0;負方向從右往左取值,起始位置爲-1。所以任意一個序列結構數據的索引範圍爲 -len(consequence) 到 len(consequence)-1 範圍內的連續整數。spa

切片操做會將按照給定的索引和步長,截取序列中由連續的對象組成的片斷,單個索引返回值能夠視爲只含有一個對象的連續片斷。code

切片的過程是從第一個想要的對象開始,到第一個不想要的對象結束。第一個想要的對象到第一個不想要的對象之間的連續對象就是你全部想要的對象。對象

所以在consequence[start_index: end_index]中,切片中包含了consequence[start_index],但不包括consequence[end_index]。blog

con[start_index]:返回索引值爲start_index的對象。start_index爲 -len(con)到len(con)-1之間任意整數。
con[start_index: end_index]:返回索引值爲start_index到end_index-1之間的連續對象。
con[start_index: end_index : step]:返回索引值爲start_index到end_index-1之間,而且索引值與start_index之差能夠被step整除的連續對象。

con[start_index: ]:缺省end_index,表示從start_index開始到序列中最後一個對象。
con[: end_index]:缺省start_index,表示從序列中第一個對象到end_index-1之間的片斷。
con[:]:缺省start_index和end_index,表示從第一個對象到最後一個對象的完整片斷。
con[::step]:缺省start_index和end_index,表示對整個序列按照索引能夠被step整除的規則取值。
 a=[1,2,3,4,5,6,7]
print(a[len(a)-1])
7
print( a[-len(a)])
1
print(a[len(a)])

Traceback (most recent call last):
  File "<pyshell#98>", line 1, in <module>
    a[len(a)]
IndexError: list index out of range
>>> a[-len(a)-1]

Traceback (most recent call last):
  File "<pyshell#99>", line 1, in <module>
    a[-len(a)-1]
IndexError: list index out of range

[注意]必定要記住,end_index實際上是你第一個不想要獲取的對象的索引,因此a[0:-1]是取不到a[-1]的,因此若是要使得切片片斷包含end_index位置的對象,請缺省end_index,或者輸入一個超出end_index範圍的值。索引

利用步長對序列進行倒序取值字符串

在切片運算中,步長爲正,表示從左至右,按照索引值與起始位置索引之差能夠被步長整除的規律取值;當步長爲負,則表示從右至左,按照按照索引值與起始位置索引之差能夠被步長整除的規律取值。it

根據這個特性,咱們能夠很方便對某個序列進行倒序取值,這個方法比reverse方法更方便,且適用於沒有reverse方法的字符串和元組。

 a=[1,2,3,4,5,6,7]
b=(1,2,3,4,5,6,7)
c='Let me show you a little thing'
print(a[::-1])
[7, 6, 5, 4, 3, 2, 1]
print(b[::-1])
(7, 6, 5, 4, 3, 2, 1)
print(c[::-1])
'gniht elttil a uoy wohs em teL'
print(a)
[1, 2, 3, 4, 5, 6, 7]
print(b)
(1, 2, 3, 4, 5, 6, 7)
print(c)
'Let me show you a little thing'

a.reverse()
print(a)
[7, 6, 5, 4, 3, 2, 1]
相關文章
相關標籤/搜索