Python 高階特性 切片

2021-07-09 16:29:13 字數 1261 閱讀 1853

在list,string 中取部分元素的操作是十分常見的

如下list:

>>> list = [1,2,'qwe',3,'asd']

>>> list

[1, 2, 'qwe', 3, 'asd']

想要取中間三個元素,要怎麼做?

笨方法 1

直接利用索引取值

>>> list[1],list[2],list[3]

(2, 'qwe', 3)

如果有100個元素或者1000元素需要取那? 豈不是要累死。。

笨方法 2

利用迴圈取值

>>> 

for n in range(3) :

print list[n]12

qwe

對於經常指定範圍,利用迴圈會很麻煩。

python提供了切片操作符,大大簡化了這種操作

對於上面的問題,只需一行**即可解決

>>> list

[1:4]

[2, 'qwe', 3]

切片用法解析

list[1:4]

表示從索引』1』,開始取元素,到索引 『4』結束,並且不包括索引』4』.

即list[0:4]經過切片後取到的值為list[1]lisi[2]list[3]

當需要從索引『0』開始取值時,可以省略切片中的起始的『0』

>>> list

[:3] ##取索引 0 到 2 的值

[1, 2, 'qwe'] ## list

[1]list

[2]list

[3]

同樣,python還支援倒序切片

>>> list

[-1:]

['asd']

>>> list

[-2:-1]

[3]>>> list

[-3:-1]

['qwe', 3]

Python高階特性 切片 Slice

如何在乙個陣列中取特定的一組資料?是乙個個指定?l range 10 l 0,1,2,3,4,5,6,7,8,9 l 0 0 l 1 l 2 l 3 1,2,3 資料少還行,要是資料多呢?迴圈怎麼樣?l range 10 l 0,1,2,3,4,5,6,7,8,9 for i in range 3 ...

Python高階特性之切片

切片操作符是序列名後跟乙個方括號,方括號中有一對可選的數字,並用冒號分割。注意這與你使用的索引操作符十分相似。記住數是可選的,而冒號是必須的。切片操作符中的第乙個數 冒號之前 表示切片開始的位置,第二個數 冒號之後 表示切片到 結束,第三個數 冒號之後 表示切片間隔數。如果不指定第乙個數,pytho...

python高階特性(1) 切片

原文 取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。...