2016-03-21 21 views
0

只要它們不是None,如何向列表中添加多個變量?Python:從變量創建列表,只要它們不是無

如果其中一個是None,那麼只有另一個應該被添加到列表中。

a = "A" 
b = None 

list_items = [a + b] 

給出:

TypeError: ("cannot concatenate 'str' and 'NoneType' objects", u'occurred at index 0')

在上述示例中,該列表的組成部分將總是ab。我懷疑只要下一個添加的變量不是None,可以處理任意數量變量的解決方案將使用.extend()清空列表[]。這可能很有用,但最簡單的解決方案是什麼?

回答

3

您可以創建一個函數,它的參數的任意數量並篩選出哪些是None的那些:

def create_list(*args): 
    return [a for a in args if a is not None] 

print create_list(1, 4, None, 'a', None, 'b') 

輸出:

[1, 4, 'a', 'b'] 
1

您可以直接查詢變量無:

a = "A" 
b = None 

if b != None: 
    list_items = [a + b] 
相關問題