我有一个列表: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常规整数类型中。
答案 0 :(得分:2)
maxsize是变量,数组的长度还是字符串?
distance1 = [-1 if v == maxsize else v for v in filter(lambda x: x, distance)]