如何解决如何在Python的IF语句中从多个返回值中检查变量之一的值
有人知道如何在单个IF语句中从多个返回值函数检查变量a == 0的值,如下所示,
if (a,b,c = some_function()) == 0: #currently it is wrong
...
...
else:
...
...
def some_function():
return 0,123,"hello"
解决方法
首先将返回值解压缩为变量,然后检查变量的值。
您可以使用_
作为变量名来表示未使用该值。
a,_,_ = some_function()
if a == 0:
# ...
或者,如果您以后根本不需要访问任何返回值,则可以使用索引:
if some_function()[0] == 0:
# ...
但这很难读,因为您无法给返回值起个名字来记录其含义。
使用"walrus operator" :=
很诱人,但使用does not support iterable unpacking(在第一个示例中使用)。
这是我与海象运算符能够获得的最接近的距离。 我很抱歉在没有完全检查的情况下关闭车票。
def some_function():
return 0,123,"hello"
if (my_tuple := some_function() )[0] == 0:
print ("Check worked")
else:
print ("Check failed")
a,b,c = my_tuple
这非常接近mkrieger1's
答案(已投票),仅在“海象”分配中添加了一个接收单个返回值的演示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。