我有這樣的代碼:轉換成列表解析
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