使用';对于';在Python列表理解中使用if/elif语句循环
我试图将此for循环转换为列表理解:使用';对于';在Python列表理解中使用if/elif语句循环,python,list-comprehension,Python,List Comprehension,我试图将此for循环转换为列表理解: a=[1,2,3,4,5,6,7,8,9] 结果=[] 对于我来说,在一个: 如果i 4和i
a=[1,2,3,4,5,6,7,8,9]
结果=[]
对于我来说,在一个:
如果i 4和i<7:
结果.追加(2)
我已经试过了
[1 if i <= 3 else 2 if i > 3 and i < 7 for i in a]
[1如果a中的i为i 3且i<7]
抱怨
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
文件“”,第2行
[1如果a中的i为3且i<7]
^
SyntaxError:无效语法
列表理解:
添加更多的条件:D(不,这真的很混乱)
[
1如果我也是,循环与列表组件不同。尝试为i
插入4,如果i>4和i<7
=>如果4
使用链式比较,可以对过滤器/转换部分进行更多解释,但是是的,请更正。谢谢您的详细解释,这非常有效。