日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python反转列表不用切片_关于python:使用切片表示法反转列表

發(fā)布時(shí)間:2025/3/17 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python反转列表不用切片_关于python:使用切片表示法反转列表 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在下面的例子:

foo = ['red', 'white', 'blue', 1, 2, 3]

在所有的元素:將打印foo[0:6:1]foo。然而,foo[6:0:-1]將omit 0th首屆歐元。

>>> foo[6:0:-1]

[3, 2, 1, 'blue', 'white']

我的理解是,我可以使用foo.reverse foo()或():1】:反向印刷的列表,但我試圖理解為什么::foo的0 - 1 [ 6 ]不是打印整個(gè)名單?

還要注意foo[7:None:-1]的可能性:)

在試圖理解切片符號(hào)之前,我從來(lái)沒(méi)有使用過(guò)python,我的問(wèn)題是為什么foo[6:0:-1]沒(méi)有拋出索引錯(cuò)誤,python不關(guān)心它嗎?因?yàn)樯厦娴氖纠龜?shù)組中沒(méi)有6個(gè)索引。

@Mubasharahmad切片不是索引,并且在超出界限時(shí)不會(huì)拋出任何錯(cuò)誤。不過(guò),索引在超出界限時(shí)確實(shí)會(huì)引發(fā)異常。

Slice notication in short:

[ : : ]

如果你想包括第一個(gè)元素,當(dāng)你反復(fù)列表時(shí),離開中間元素empty,就像這樣:

ZZU1

你也可以在這里找到一些關(guān)于Python的好信息解釋Python的切削標(biāo)記

這:[ : : ]是我見過(guò)的最清晰的切片語(yǔ)法解釋。稱之為"要排除的第一個(gè)元素"確實(shí)使事情變得很明顯。

用負(fù)的步驟進(jìn)行負(fù)的切片怎么樣?我還是不明白。

當(dāng)使用負(fù)索引作為或時(shí),它是從列表的后面進(jìn)行索引的,因此-1是最后一個(gè)元素,-2是第二個(gè)到最后一個(gè)元素,等等。例如,x[-1:-4:-1]將按相反的順序得到x的最后三個(gè)元素。因此,您可以將其解釋為"從列表中的最后一個(gè)元素(-1)向后移動(dòng)每個(gè)元素(-1步),直到但不包括從末尾開始的第四個(gè)元素(-4)。

倒車時(shí)(如為-1時(shí)),我認(rèn)為有幫助。所以,要從一個(gè)列表中按相反的順序得到n個(gè)"最左邊"的元素:foo[n-1::-1]。以相反的順序獲得n的"最右邊"元素:foo[-1:-n-1:-1]。

如果你有麻煩的記憶,你可以嘗試做冰淇淋:

[In:out:shake it all about]

[First element to include:first element to leave out:the step to use]

YMV

...why foo[6:0:-1] doesn't print the entire list?

因?yàn)橹兄凳俏ㄒ坏?#xff0c;比包容性強(qiáng),停止值。The interval notication is[start,stop.]

This is exactly how[x]range works:

>>> range(6, 0, -1)

[6, 5, 4, 3, 2, 1]

這些是列入你的結(jié)果列表的線索,而不包括第一個(gè)項(xiàng)目的0。

>>> range(6, -1, -1)

[6, 5, 4, 3, 2, 1, 0]

另一種看待它的方式是:

>>> L = ['red', 'white', 'blue', 1, 2, 3]

>>> L[0:6:1]

['red', 'white', 'blue', 1, 2, 3]

>>> len(L)

6

>>> L[5]

3

>>> L[6]

Traceback (most recent call last):

File"", line 1, in

IndexError: list index out of range

The index 6 is beyond(one-past,precisely)the valid indices for L,so excluding it from the range as the excluded stop value:

>>> range(0, 6, 1)

[0, 1, 2, 3, 4, 5]

還是給你名單上每一個(gè)項(xiàng)目的線索。

range可以,但Slice不能,因?yàn)?1是最后一個(gè)元素。因此,l=[1, 2, 3]和l[2:-1:-1] == []。

這個(gè)答案可能是一個(gè)小問(wèn)題,但對(duì)一個(gè)同樣麻煩的人來(lái)說(shuō),它可能是一個(gè)幫助。你可以用任意結(jié)束的列表到0索引,應(yīng)用第二個(gè)插入點(diǎn)如:

>>> L = list(range(10))

>>> L

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> (start_ex, end) = (7, 0)

>>> L[end:start_ex][::-1]

[6, 5, 4, 3, 2, 1, 0]

這實(shí)際上非常有用,因?yàn)槟梢詫?duì)所有情況使用相同的語(yǔ)法。您不必將0視為特殊情況。

使用

>>>foo[::-1]

This displays the reverse of the list from the end element to the start,

總結(jié)

以上是生活随笔為你收集整理的python反转列表不用切片_关于python:使用切片表示法反转列表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。