第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從列表中刪除所有大于所需數(shù)量的值

從列表中刪除所有大于所需數(shù)量的值

墨色風(fēng)雨 2023-08-22 17:52:20
L=[10,19,20,30,8,11,9]i=0while i==0:    while L[i]<=12:        i+=1    else:        L.pop(i)        i=0您好,我想從列表中刪除大于 12 的值。我得到了我想要的列表,但我也收到一條錯誤消息,顯示“列表索引超出范圍”,即使我在循環(huán)結(jié)束時使 i=0 。我該如何修復(fù)它?
查看完整描述

5 回答

?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個贊

您可以使用條件?列表理解來執(zhí)行以下操作:

l=[each?for?each?in?L?if?each<=12]

l將:

[10,?8,?11,?9]

如果你不喜歡列表理解,你可以這樣做:

l=[]
for?each?in?L:
????if?each<=12:
????????l.append(each)

l將會和以前一樣。


查看完整回答
反對 回復(fù) 2023-08-22
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個贊

當(dāng)您執(zhí)行 a 時pop(),您正在通過縮短列表來更改列表。如果您想進(jìn)行調(diào)用pop(),我建議以相反的順序解析列表,從末尾開始,然后向開頭進(jìn)行。


for i in range(len(L) - 1, -1, -1):

    if L[i] > 12:

        L.pop(i)

但是,要直接回答您的問題,請更改代碼以替換:


L.pop(i)

和:


if i < len(L):

    L.pop(i)

這應(yīng)該會讓你的實(shí)際錯誤消失。但這并不是解決問題的最佳方法。我仍然建議以相反的順序處理列表。


查看完整回答
反對 回復(fù) 2023-08-22
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個贊

您可以使用filter:


L=[10,19,20,30,8,11,9]


#For python 2

L1 = filter(lambda x: x < 12, L)


#For python 3, wrap filter with list

L1 = list(filter(lambda x: x < 12, L))


print (L1)


查看完整回答
反對 回復(fù) 2023-08-22
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個贊

一種帶有 while 且不創(chuàng)建新列表的解決方案


L=[10,19,20,30,8,11,9]

i=0

while i < len(L):

    if L[i] > 12:

        L.pop(i)

    else:

        i += 1


查看完整回答
反對 回復(fù) 2023-08-22
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個贊

雖然這不是最好的方法,但它可能是您正在尋找的修復(fù)方法


L=[10,19,20,30,8,11,9]

i=0

while i==0:

  while L[i]<=12:

    if i==len(L)-1:

      break

    i+=1

  else:

    L.pop(i)

    i=0


查看完整回答
反對 回復(fù) 2023-08-22
  • 5 回答
  • 0 關(guān)注
  • 309 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號