久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python簡單的問題,智商不夠用了。。。

瀏覽:180日期:2022-08-28 15:26:47

問題描述

為何遍歷a只遍歷3次?智商不夠了,list里最后一個為何沒遍歷到?智商不夠了。。。

a = ['asd_1','asd_2','3','4']b = afor i in a: print(i) if i.find(’asd_’) < 0:b.remove(i)

輸出:asd_1asd_23

問題解答

回答1:

因為列表上可變對象啊,a和b其實只想的是同一個地址,在b上面remove會影響a的迭代,不信你把a打印出來看

a = ['asd_1', 'asd_2', '3', '4']b = afor i in a: print(i) if i.find(’asd_’) < 0:b.remove(i)print a

輸出:

asd_1asd_23[’asd_1’, ’asd_2’, ’4’]

這時a的長度已經(jīng)變成3了

回答2:

上面的代碼,b只是a的引用,你修改了b,a也被修改了,直接影響了a的迭代.

你可以試試

b = a.copy()

或者

b = a[:]

標簽: Python 編程
主站蜘蛛池模板: 保定市| 赤峰市| 铅山县| 南靖县| 梅州市| 沧源| 深水埗区| 瑞丽市| 富民县| 无棣县| 秦皇岛市| 永年县| 郁南县| 正宁县| 织金县| 绥棱县| 资兴市| 山丹县| 闵行区| 郧西县| 泸西县| 塘沽区| 绥阳县| 镇坪县| 丹东市| 太仆寺旗| 明水县| 莫力| 松桃| 六枝特区| 九龙县| 桂东县| 通化市| 花莲市| 洛扎县| 大连市| 噶尔县| 溧水县| 桂平市| 泸西县| 右玉县|