-2
lists = [['12','saw'],['12','dan'],['16','man']]
contain = []
def foo(y, x):
host = [item[0].lower() for item in y]
unique_labels = []
for item, count in collections.Counter(host).items():
if count == 1:
unique_labels.append(item)
x = [item for item in y if item[0] in unique_labels]
return x
foo(lists,contain)
print contain #returns an empty list instead of a list of lists
嗨,我有這個函數,它會根據一定的條件獲取一個列表的列表並返回一個列表的新列表。但是,當我調用該函數並嘗試查看列表的新列表時,它將返回空列表。我不明白爲什麼「包含」是空的。任何幫助將不勝感激Python我的功能不斷返回一個空的列表
因爲你實際上沒有改變你傳入的列表;有時你用一個新的替換它,然後你返回它,但你對返回的內容不做任何事情。返回*或*變異。 – jonrsharpe
@jonrsharpe謝謝回覆,但我仍然是初學者,我不知道如何去'返回或變異'。任何幫助,將不勝感激。 – zuse
然後我會推薦一些研究,例如見http://stackoverflow.com/q/26027694/3001761 – jonrsharpe