继续,如果其他在 Python 内联 [英] Continue if else in inline for Python
本文介绍了继续,如果其他在 Python 内联的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法找到继续/传递 if in a for 的技巧,有什么想法吗?.请不要提供显式循环作为解决方案,它应该是一行中的所有内容.
我使用 continue、pass 和仅当...测试了代码
list_num=[1,3][("Hola" if i == 1 else continue) for i in list_num]
我的试验输出:
[("Hola" if i == 1 else continue) for i in list_num]^语法错误:无效语法文件<stdin>",第 1 行[("Hola" if i == 1 else pass) for i in list_num]^语法错误:无效语法文件<stdin>",第 1 行[(如果 i == 1: "Hola") for i in list_num]^语法错误:无效语法
解决方案
您可以替换列表中的每一项:
<预><代码>>>>['hola' if i == 1 else '' for i in list_num]['你好', '']或者在满足条件时替换:
<预><代码>>>>['hola' for i in list_num if i == 1]['你好']I have not been able to find the trick to do a continue/pass on an if in a for, any ideas?. Please don't provide explicit loops as solutions, it should be everything in a one liner.
I tested the code with continue, pass and only if...
list_num=[1,3]
[("Hola" if i == 1 else continue) for i in list_num]
Output of my trials :
[("Hola" if i == 1 else continue) for i in list_num]
^
SyntaxError: invalid syntax
File "<stdin>", line 1
[("Hola" if i == 1 else pass) for i in list_num]
^
SyntaxError: invalid syntax
File "<stdin>", line 1
[(if i == 1: "Hola") for i in list_num]
^
SyntaxError: invalid syntax
解决方案
You can replace each item in list:
>>> ['hola' if i == 1 else '' for i in list_num]
['hola', '']
Or replace when a condition is met:
>>> ['hola' for i in list_num if i == 1]
['hola']
这篇关于继续,如果其他在 Python 内联的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文