序列(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...