Python my函数不断返回一个空列表

Python my函数不断返回一个空列表,python,list,Python,List,您好,我有一个函数,它获取列表列表并根据特定条件返回一个新列表。但是,当我调用函数并尝试查看新列表时,它返回空列表。我不明白为什么“contain”是空的。任何帮助都将不胜感激列表包含开始为空,您永远不会修改它,所以打印时它是空的。函数foo接收contain作为参数x的参数。Foo没有向参数添加任何内容。相反,它会反复将名称x重新绑定到一个新列表,然后返回最后一个新列表。您的代码将忽略返回的列表,并将其删除 如果foo应该填充输入参数x,那么它应该有x.append或x.extend调用,并且

您好,我有一个函数,它获取列表列表并根据特定条件返回一个新列表。但是,当我调用函数并尝试查看新列表时,它返回空列表。我不明白为什么“contain”是空的。任何帮助都将不胜感激

列表包含开始为空,您永远不会修改它,所以打印时它是空的。函数foo接收contain作为参数x的参数。Foo没有向参数添加任何内容。相反,它会反复将名称x重新绑定到一个新列表,然后返回最后一个新列表。您的代码将忽略返回的列表,并将其删除


如果foo应该填充输入参数x,那么它应该有x.append或x.extend调用,并且永远不要用x=..

重新绑定,因为实际上不会改变传入的列表;有时你用一个新的来替换它,然后你把它退回,但是你对退回的东西什么也不做。要么返回,要么变异。@jonrsharpe感谢您的回复,但我还是一个初学者,我不知道如何进行“返回或变异”。任何帮助都将不胜感激。然后我会推荐一些研究,例如@jornsharpe谢谢,我现在就知道了
 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