我正在尝试创建一个函数,您可以在其中传递一个列表和一个索引,它会返回另一个列表,其中包含您传递给它的第一个列表中属于您传递给它的索引位置的元素。我写了这样的东西:
def indextoentry(lista,index):
listresult = []
listresult = listresult + lista[index]
return(listresult)
正如您可能已经知道的那样,这会产生类型不匹配错误 listresult = listresult + lista[index]
所以我使用 append() 方法尝试其他方法:
def indextoentry(lista,index):
listresult = []
listresult = listresult.append(lista[index])
return(listresult)
这不会给我一个错误,但'None'
如果我这样做,它会给我>>> print(indextoentry([1,2,3],1))
我怎样才能让我的函数返回一个列表?非常感谢您。
在第一个示例中,您添加了一个列表和其他内容(int、float、str 等),这会导致类型不匹配错误。解决方案:
在第二种情况下,您错误地使用了 append() 方法,您要做的是:
现在
lisresult
它不是一个列表,而是 append() 方法的返回,因为它不返回任何东西,所以它是 None。它是这样使用的:简化你可以这样做:
或者:
这是因为
append
列表的方法。不返回值。这就是为什么在进行分配时,没有为您的变量分配任何内容listresult