快捷条件表达式:
expression1
如果condition
其他expression2
x=1 if a>3 else 2
但是:我可以在开头有两个表达式吗?
x=1,b=3 if a>3 else 2
感谢>idontknow
,解决方案是>
previousTime,BS_Count=(db_row_to_list[0][14],BS_Count+1) if db_row_to_list[0][14] is not None else (db_row_to_list[0][3],BS_Count)
Tags:
不完全是。对于这种情况,可以使用if语句
如果希望所有内容都成为一行程序,可以在Python中使用元组解包。元组解包的作用基本上是从元组中获取元素并将它们存储为变量,而不是元组的元素
这一概念的应用如下:
请注意,这是一个单行线!🤗
编辑:在更新的上下文中回答您的问题:
您可以使用以下较短的代码。我想效果是一样的
您可以使用
tuples
:在您的示例中:
条件表达式部分是:
因此,您将该条件表达式的结果赋值给
x
在第二个示例中,这是无效语法:
这是因为它相当于:
或者,作为一个简单的例子:
这是无效的语法,因为您无法在Python中执行类似
1 = 3
的操作,而这正是该代码试图执行的操作。虽然如果元组的两个元素都不是文本,但会出现不同的错误:因此,如果要对条件表达式执行多个赋值,可以让条件表达式返回一个元组,并让左侧为要赋值的两个变量的元组:
这相当于:
这就是我认为您使用原始代码的目的
相关问题 更多 >
编程相关推荐