我有这样的代码:转换成列表解析
result = []
for x in [10, 20, 30]:
for y in [2, 3, 4]:
if y > 0:
result.append(x ** y)
结果
[100, 1000, 10000, 400, 8000, 160000, 900, 27000, 810000]
我试图将其转换为列表,没有运气理解(在python新)
这是我的尝试:
print [ x ** y if y > 0 for x in [10, 20, 30] for y in [2, 3, 4]]
但是在声明中存在一个问题,任何帮助都将被占用。
错误:
File "<stdin>", line 1
print [ x ** y if y > 0 for x in [10, 20, 30] for y in [2, 3, 4]]
^
SyntaxError: invalid syntax
你可能会显示如何将过滤器在'itertools'版本(可能使用'itertools.ifilter'上的第二个参数'product')。 – chepner