Python—从两个值中获取满足或真值表的值
我有两个返回两个值的对象,比如x1,x2。我只需要检查这些值是否存在,如果存在,它应该返回那些值,不是None,False,0 这只是一个简单的尝试,可以:Python—从两个值中获取满足或真值表的值,python,Python,我有两个返回两个值的对象,比如x1,x2。我只需要检查这些值是否存在,如果存在,它应该返回那些值,不是None,False,0 这只是一个简单的尝试,可以: def get_valid_keys(x1, x2): """ """ a = [] if x1: a.append(x1) if x2: a.append(x2) return a 但我觉得python中应该有某种东西能够以有效的方式返回上述变量而不是值: 比如: 删除所有零: f
def get_valid_keys(x1, x2):
""" """
a = []
if x1: a.append(x1)
if x2: a.append(x2)
return a
但我觉得python中应该有某种东西能够以有效的方式返回上述变量而不是值:
比如:
删除所有零:
filter(lambda x: x, [x1, x2])
删除所有零:
filter(lambda x: x, [x1, x2])
你看过
filter()
。您也可以使用列表理解来实现它。Python不“知道”引用(“变量”)的名称。您不能简单地返回'x1'
而不是0
。您不能从0
返回引用它的一个或多个名称。@cdarke我相信OP想要的是引用的名称,而不是它的值。@DeepSpace:好的,我误解了。他/她应该使用字典。x1
和x2
不是值,它们是对其值的引用。一个值可以有许多对它的引用-它可以有许多名称。名称“x1”和“x2”甚至不在函数之外的范围内。如果你想把一个文本名绑定到一个值,那么你应该考虑使用一个字典。你见过'x1'
而不是0
。您不能从0
返回引用它的一个或多个名称。@cdarke我相信OP想要的是引用的名称,而不是它的值。@DeepSpace:好的,我误解了。他/她应该使用字典。x1
和x2
不是值,它们是对其值的引用。一个值可以有许多对它的引用-它可以有许多名称。名称“x1”和“x2”甚至不在函数之外的范围内。如果你想把一个文本名绑定到一个值,那么你应该考虑使用字典。