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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python列表反向取值_Python列表的反向遍历,python,逆序

發布時間:2024/1/23 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python列表反向取值_Python列表的反向遍历,python,逆序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引題:該題源自一個網友的求助,作為水群龍王的我義不容辭的接下了這道題目,先來看題目:

題目

拿到這道題,題目的意思已經很清楚了,列表里含有2的元素都需要刪除,然后輸出刪除后的新列表。我首先想到的思路就是使用for循環遍歷字符串,利用字符串操作符x in s(如果x是s的子串,返回True,否則返回False),使用if函數 ,若為True則刪除(remove)該元素。最終輸出新列表。

思路代碼及運行結果如下(這是錯的)

錯誤實例

觀察輸出結果,跟原列表相比雖然剔除了一些含2的元素,但是并沒有完全剔除,為什么?

來分析一下python是根據列表元素的下標來遍歷的。于是最開始元素123下標為1, 元素212下標為2。第一遍循環執行了s.remove,刪除了元素123。當進入第二遍循環時!!!重點來了,注意 此時元素123已經是被刪除了, 所以元素212的下標由1變成了0,元素434下標由2變成了1。而下標為0已經在第一遍循環中執行了,故第二遍循環會尋找下標為1的元素。

寫到這 想必大家已經知道為什么輸出結果中212沒有被刪除,因為這2貨壓根就沒有被python發現,坐上了前一個元素的位置逃過了例行檢查。元素1215為什么也沒被刪除??因為它下標變成了前面的元素231的位置,逃過了python大哥的例行檢查。

好了,出錯的原因已經找到了,怎么解決呢?遍歷呢就像一條路,你可以從路的起點走到終點,也可以從路的終點走到起點。剛才我們是正序遍歷,解決不了問題,那我們倒過來呢?試一下。

倒序遍歷的結構可以是這樣的: for i in range(len(s)-1,-1,-1)

代碼及運行結果如下(這是正確的)

正確實例

可以看到 我們已經得到了想要輸出的結果,關于為什么倒序不會出現問題這里不再過多解釋 (因為我不知道怎么解釋哈哈哈)只用記住利用for循環遍歷刪除元素時應該從后往前遍歷,否則會出現列表越界的情況。

除了使用remove方法外 我們還有沒有別的選擇呢?當然是有的咯 python別的不多就是函數超級多。

總結實現列表逆序遍歷方法可以有如下幾種(還有更多):

多種方法總結

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的python列表反向取值_Python列表的反向遍历,python,逆序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。