gpt4 book ai didi

python - 删除仅出现在列表开头的 0

转载 作者:行者123 更新时间:2023-11-28 19:55:40 25 4
gpt4 key购买 nike

我有一个列表,它的开头是 0,我想删除。 0 确实出现在数据的其他地方,但我想保留这些。

l=[0, 0, 0, 0, 151, 199, 149, 147, 281, 133, 166, 162, 0, 353, 867, 1060, 525, 1031, 420, 0, 832, 1114, 869, 531, 546, 555, 520, 679, 715, 669, 555, 888, 605, 809, 0, 514]

需要成为:

l=[151, 199, 149, 147, 281, 133, 166, 162, 0, 353, 867, 1060, 525, 1031, 420, 0, 832, 1114, 869, 531, 546, 555, 520, 679, 715, 669, 555, 888, 605, 809, 0, 514]

最佳答案

使用itertools.dropwhile()删除那些零:

from itertools import dropwhile
import operator

l = list(dropwhile(operator.not_, l))

这将丢弃只是初始的 0 值;或者更确切地说,所有 false-y 值,使用 operator.not_() .

演示:

>>> from itertools import dropwhile
>>> import operator
>>> l=[0, 0, 0, 0, 151, 199, 149, 147, 281, 133, 166, 162, 0, 353, 867, 1060, 525, 1031, 420, 0, 832, 1114, 869, 531, 546, 555, 520, 679, 715, 669, 555, 888, 605, 809, 0, 514]
>>> list(dropwhile(operator.not_, l))
[151, 199, 149, 147, 281, 133, 166, 162, 0, 353, 867, 1060, 525, 1031, 420, 0, 832, 1114, 869, 531, 546, 555, 520, 679, 715, 669, 555, 888, 605, 809, 0, 514]

关于python - 删除仅出现在列表开头的 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com