我正在尝试将这个for循环转换为一个列表理解:
a = [1,2,3,4,5,6,7,8,9]
result = []
for i in a:
if i <= 3:
result.append(1)
elif i > 4 and i < 7:
result.append(2)
我已经试过了
[1 if i <= 3 else 2 if i > 3 and i < 7 for i in a]
它抱怨说
File "<ipython-input-155-eebf07a9e0d8>", line 2
[1 if i <= 3 else 2 if i > 3 and i < 7 for i in a]
^
SyntaxError: invalid syntax
发布于 2019-06-26 04:35:08
列表理解:
添加更多条件:D (不,这真的很混乱)
[
1 if i <= 3 else 2
for i in a
if i != 4 and i < 7
]
我们怎么来到这儿的?
基本列表组件:
[EXPRESSION for TARGET in ITERABLE if CONDITION]
三元表达式:(IF_TRUE if CONDITION else IF_FALSE)
for i in a
.CONDITION
,在列表中的那个位置就必须有一个项目。在这种情况下,如果它是4或大于7,我们不想要i
。在本例中,如果i
小于或等于4,我们需要1
。否则,我们将采用2. 1 if i <= 3 else 2
。注意:这是一个三元表达式。快来看看!https://stackoverflow.com/questions/56761611
复制相似问题