列表切片-2個(gè)索引
列表切片(List slices)提供了從列表中檢索值的更高級(jí)的方法。
基本列表切片涉及用兩個(gè)以冒號(hào)分隔的整數(shù)索引列表。
列表切片返回一個(gè)包含索引之間舊列表中所有值的新列表。
例如:
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[2:6])
print(squares[3:8])
print(squares[0:1])
結(jié)果:
[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
和Range參數(shù)一樣,在一個(gè) slice 中提供的第一個(gè)索引被包含在結(jié)果中,但是第二個(gè)索引沒(méi)有。
列表切片-1個(gè)索引
如果省略了切片中的第一個(gè)數(shù)字,則將從列表第一個(gè)元素開(kāi)始。
如果第二個(gè)數(shù)字被省略,則認(rèn)為是到列表結(jié)束。
例如:
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[:7])
print(squares[7:])
結(jié)果:
[0, 1, 4, 9, 16, 25, 36]
[49, 64, 81]
切片也可以在元組上使用。
列表切片-3個(gè)索引
列表切片還可以有第三個(gè)數(shù)字,表示間隔。
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[::2])
print(squares[2:8:3])
結(jié)果:
[0, 4, 16, 36, 64]
[4, 25]
[2:8:3] 包含從索引2到8間隔3的元素。
列表切片-負(fù)值索引
負(fù)值也可用于列表切片(和正常列表索引)。當(dāng)切片(或普通索引)中的第一個(gè)和第二個(gè)值使用負(fù)值時(shí),它們將從列表的末尾算起。
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[1:-1])
print(squares[-3:-1])
print(squares[::-1])
結(jié)果:
[1, 4, 9, 16, 25, 36, 49, 64]
[49, 64]
[81, 64, 49, 36, 25, 16, 9, 4, 1, 0]
如果切片第三個(gè)數(shù)值使用負(fù)值,則切片進(jìn)行逆序截取。
使用[::-1]作為切片是反轉(zhuǎn)列表的常用方法。