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

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

如何從數組python中刪除0

如何從數組python中刪除0

慕桂英546537 2021-08-05 18:03:27
我有一個數組數組,我想刪除所有為零的值。我有這個M_data = [    [0.0, 0.0, 0.0, 0.0, 0.0],    [19, 0.0, 0.0, 0.0, 0.0],    [27, 31, 0.0, 0.0, 0.0],    [8, 18, 26, 0.0, 0.0],    [33, 36, 41, 31, 0.0],    [18, 1, 32, 17, 35]    ]我想刪除所有的零,所以我得到M_data = [    [],    [19],    [27, 31],    [8, 18, 26],    [33, 36, 41, 31],    [18, 1, 32, 17, 35]    ]我怎樣才能做到這一點?(Python)
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

您可以使用列表理解:


M_data = [

    [0.0, 0.0, 0.0, 0.0, 0.0],

    [19, 0.0, 0.0, 0.0, 0.0],

    [27, 31, 0.0, 0.0, 0.0],

    [8, 18, 26, 0.0, 0.0],

    [33, 36, 41, 31, 0.0],

    [18, 1, 32, 17, 35]

    ]


result = [[e for e in lst if e] for lst in M_data]

print(result)

輸出


[[], [19], [27, 31], [8, 18, 26], [33, 36, 41, 31], [18, 1, 32, 17, 35]]

以上相當于:


result = []

for lst in M_data:

    inner = []

    for e in lst:

        if e:

            inner.append(e)

    result.append(inner)

這個想法是遍歷內部列表并創(chuàng)建僅包含0. 要檢查與 0 不同的值,您可以直接使用該值if,Python 0 中的語句是False。例如if e相當于if e != 0,whene是數字。

查看完整回答
反對 回復 2021-08-05
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

您還可以使用filter過濾所有None(0) 值作為

lst = [list(filter(None, lst)) for lst in M_data]

輸出

[[], [19], [27, 31], [8, 18, 26], [33, 36, 41, 31], [18, 1, 32, 17, 35]]

list該器的輸出轉換filter,因為你想要一個空表太命令返回一個列表。您循環(huán)遍歷您的子列表,M_data然后過濾掉 0。這一行也稱為列表理解


查看完整回答
反對 回復 2021-08-05
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

您可以輕松過濾列表:


M_data = [

    [0.0, 0.0, 0.0, 0.0, 0.0],

    [19, 0.0, 0.0, 0.0, 0.0],

    [27, 31, 0.0, 0.0, 0.0],

    [8, 18, 26, 0.0, 0.0],

    [33, 36, 41, 31, 0.0],

    [18, 1, 32, 17, 35]

    ]

M_data = [[x for x in y if x != 0] for y in L]

M_data

http://img1.sycdn.imooc.com//610bb79b00012b1512410255.jpg

查看完整回答
反對 回復 2021-08-05
  • 3 回答
  • 0 關注
  • 617 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號