在python中列出,我需要帮助

时间:2019-06-27 11:10:12

标签: python

我是python的新手,在编写程序来转换二进制代码时,我发现列表有点问题。 我列出了“ z”:

z = [0, 0, 4, 8, 0, 32]

我想得到这个:

z = [4, 8, 32]

所以我做到了:

y = 0
for i in z:
    if z[y] == 0:
        z.remove(z[y])
        y = y + 1
    elif z[y] != 0:
        y = y + 1
print(z)

但这不起作用,因为我得到了

z = [4, 8, 0, 32]

我该怎么办?

1 个答案:

答案 0 :(得分:4)

您可以使用列表推导根据您的条件过滤掉元素

>>> z = [0, 0, 4, 8, 0, 32]
>>> [num for num in z if num != 0]
[4, 8, 32]