簡體   English   中英

選擇給定值並忽略列表中的非給定值

[英]Pick the given value and ignore non-given values in a list

a1,a2或a3中的一個作為值給出,而其他為空。 如果我只想打印給定的值,您想編寫什么代碼? 提前非常感謝您。

例,

a1=empty
a2=5
a3=empty
a=[a1,a2,a3]
print(a)

a=5

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

嘗試這個:

[e for e in a if e][0]

由於非空值與True相同。

您還可以使用:

[a.remove(None) for e in a.count(None)]
a[0]

嘗試使用短路屬性:

print(a1 or a2 or a3)

結果只有一個不同於None的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM