a1,a2或a3中的一个作为值给出,而其他为空。如果我想打印出一个给定的值,你想要编写什么代码? 非常感谢你。
示例,
a1=empty
a2=5
a3=empty
a=[a1,a2,a3]
print(a)
a=5
答案 0 :(得分:3)
python中的空值为None
。也许是这样的:
a1 = None
a2 = 5
a3 = None
a = [a1,a2,a3]
def get_value(L):
return [x for x in L if x is not None][0]
a = get_value(a)
print(a)
输出:
5
更新:如果列表a
中没有值,则可能会失败,因此我们应该包含此案例的异常处理:
def get_value(L):
try:
return [x for x in L if x is not None][0]
except IndexError:
return None
答案 1 :(得分:2)
试试这个:
[e for e in a if e][0]
由于非空值与True相同。
你也可以使用:
[a.remove(None) for e in a.count(None)]
a[0]
答案 2 :(得分:1)
尝试使用短路属性:
print(a1 or a2 or a3)
结果只会是与None不同的一个。