您好,登錄后才能下訂單哦!
本篇內容介紹了“Python中的切片是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
什么是切片,其實就是列表的一部分。比如下面這個列表:
players = ['james','anthony','wade','rose','curry']
你只想取中間這3個名字,可以這么做:
print(players[1:4]) ['anthony', 'wade', 'rose']
players[1:4]就是一個切片,前面是列表對應的變量,后面用中括號括起來,里面就是起始索引和終止索引,中間用冒號連接起來。這個索引也是含左不含右的,對于這個例子,就是從1開始,到4為止,但是不包括4這個位置上的元素。
如果省略起始索引,那么意味著索引從0開始:
print(players[:4]) ['james', 'anthony', 'wade', 'rose']
如果省略終止索引,那么意味著切片會取到列表的最后一個元素:
print(players[1:]) ['anthony', 'wade', 'rose', 'curry']
索引中也可以使用負數,意味著從列表的末端截取元素:
print(players[-2:]) ['rose', 'curry']
切片中也可以使用for循環:
for player in players[:3]: print(player.title())
結果如下:
James Anthony Wade
想要復制整個列表,其實就是把切片從頭取到尾,那么可以同時省略起始索引和終止索引,只留下冒號:
new_players = players[:]
為了驗證確實復制了整個列表,我們給原列表players和新復制的列表new_players各添加一個不同的元素,然后將其分別打印:
players.append('thompson') new_players.append('durant') print(players) print(new_players)
我們來看下結果,確實列表被完整復制了:
['james', 'anthony', 'wade', 'rose', 'curry', 'thompson'] ['james', 'anthony', 'wade', 'rose', 'curry', 'durant']
注意,復制列表時的冒號一定不要忘記。我們來看看如果忘記冒號,會發生什么后果:
players = ['james','anthony','wade','rose','curry'] new_players = players players.append('thompson') new_players.append('durant') print(players) print(new_players)
重點關注第2行代碼,我們并沒有使用切片,而是直接將新列表new_players關聯到了舊列表players,接下來仍然給兩個列表添加不同的元素,我們來看看打印的結果吧:
['james', 'anthony', 'wade', 'rose', 'curry', 'thompson', 'durant'] ['james', 'anthony', 'wade', 'rose', 'curry', 'thompson', 'durant']
我們發現,兩個列表完全一致,而且新添加的兩個元素都被加到了其中,這是為什么呢?
其實,就是我們之前說過的,變量可以看做是一個標簽,它指向了某個內容。
這個例子中,變量players指向了列表['james','anthony','wade','rose','curry']。在第2行代碼中,新變量new_players又和變量players關聯到了一起,因此新變量new_players也指向了這個列表['james','anthony','wade','rose','curry']。
因此,無論之后給哪個變量添加新的元素,它們指向的都是同一個列表,所以最終輸出的兩個列表就會完全一樣了。
“Python中的切片是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。