Python - 使用List Comprehension复制数组并替换元素

时间:2017-11-03 21:19:22

标签: python-3.x list-comprehension

我有一个列表:distance = [0,6,6,maxsize]

如何使用列表推导来创建一个新列表,其中每个maxsize元素都替换为-1并删除了每个0

我希望结果如下:

distance1 = [6,6,-1]

到目前为止我已尝试过这个但是语法错误:

distance1=[-1 if v == maxsize else v if v != 0 for v in distance]

提前致谢!

编辑:maxsize是支持的最大正整数在pythons常规整数类型中。

1 个答案:

答案 0 :(得分:2)

maxsize是变量,数组的长度还是字符串?

distance1 = [-1 if v == maxsize else v for v in filter(lambda x: x, distance)]