继续,如果其他在 Python 内联 [英] Continue if else in inline for Python

查看:25
本文介绍了继续,如果其他在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆