【发布时间】:2016-03-09 17:31:30
【问题描述】:
关于 python 中的列表理解有几个问题。首先是我不知道为什么下面的代码有错误:
alist = [1,2,3,4,5,6,0,9,9,4,5,0,0,2,3,0,9,6]
test = [x++ for x in alist if x != 0]
File "<stdin>", line 1
test = [x++ for x in list1 if x != 0]
^
SyntaxError: invalid syntax
另一个问题是我想写一个列表推导来计算非零元素。以alist 为例,如果alist 中的元素不为零且alist 中的元素为零,我想返回一个名为count 的列表,其中包含1 或0:1。所以结果应该是:
alist = [1,2,3,4,5,6,0,9,9,4,5,0,0,2,3,0,9,6]
count = [1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,0,1,1]
非常感谢。
【问题讨论】:
-
您希望
x++做什么? Python 没有++运算符。列表推导式创建一个新列表,所以也许你想要[x + 1 for x in alist if x != 0]? -
请坚持每个帖子的一个问题。将您的两个问题分成不同的帖子。
-
@vaultah 非常感谢。
标签: python list list-comprehension