Python Python序列的切片操作

2021-09-26 05:01:33 字數 2062 閱讀 7485

序列(consequence)是 python 中一種資料結構,這種資料結構根據索引來獲取序列中的物件。

一般說來,具有序列結構的資料型別都可以使用:index, len, max, min, in, +, *, 切片。如:

a=

"abcdefg"

print

(len

(a))

#7print

(max

(a))

#gprint

(min

(a))

#aprint

(a+a)

#abcdefgabcdefg

print

(a*3

)#abcdefgabcdefgabcdefg

print

(a[2:5

])#cde

print

(a.index(

"c"))#2

print

(a[4])

#e

對於具有序列結構的資料來說,切片操作的方法是:consequence[start_index: end_index: step]

對於序列結構資料來說,索引和步長都具有正負兩個值,分別表示左右兩個方向取值。索引的正方向從左往右取值,起始位置為0;負方向從右往左取值,起始位置為-1。

簡單的說,切片就是從你第乙個想要的物件開始,到你第乙個不想要的物件結束。(也就是說它是乙個左閉右開的區間,一步走幾個物件由你設定的步長決定)

#con[start_index]

print

(a[3])

#d(取下標為3的元素)

#con[start_index:]

print

(a[3:]

)#defg(從下標為3取到結尾,步長預設1)

#con[: end_index]

print

(a[:3]

)#abc(預設起始位置為0,也就是從開始取到下標為3,不包括下標為3的元素)

#con[:]

print

(a[:])

#abcdefg(全預設就是取開始到結尾的整個片段)

#con[start_index: end_index]

print

(a[2:5

])#cde(從下標為2,取到下標為5,但是不包括下標為5)

#con[start_index: end_index : step]

print

(a[1::

2])#bdf(從下標為1開始,取到結尾,步長為2)

#con[::step]

print

(a[::2

])#aceg(正序取,步長為2)

需要注意一哈~千萬不能越界嘍

!!!以下三行**是錯誤示範!是錯誤示範!:

list1=[1

,2,3

,4,5

,6]print

(len

(list1)

)#6,list1的長度是6

print

(list1[

len(list1)])

#這裡會報錯,越界訪問(indexerror: list index out of range)

用切片逆置序列非常的簡單方便,一行python就可以搞定啦!

#用切片逆置序列

a="abcdefg"b=[

1,2,

3,4,

5,6]

c=(11,

22,33,

44,55,

66)print

(a[::-

1])print

(b[::-

1])print

(c[::-

1])

#如果是list的話,用reverse也可以逆置

b.reverse(

)print

(b)

這兩種方法用切片會好一些,因為切片不會修改序列結構。

python python的方法覆蓋

之前一直以為在python裡是不能使用方法覆蓋的,結果後來發現可以,這裡寫乙個簡單的例子。class a def test self print i m a class b a def test self print i m b a a b b a.test b.test 列印輸出和預想的一樣,輸出...

Python Python呼叫shell的方法

1.1 os.system command 在乙個子shell中執行command命令,並返回command命令執行完畢後的退出狀態。這實際上是使用c標準庫函式system 實現的。這個函式在執行command命令時需要重新開啟乙個終端,並且無法儲存command命令的執行結果。1.2 os.pop...

python python中的遍歷

遍歷list集合 infp 1,2,3,3,3 for m in infp print m 值得注意的是,m在此處的值是infp中的想對應的值,當我們通過del infp m 或者 infp.remove m 如下 infp 1,2,3,3,3 for m in infp if m is 3 pri...