在我看来,下面的代码应该只是重建输入列表,但是我得到的是一个包含该列表三个副本的列表。你知道吗
outlist = []
inputList = ["input1", "input2", "input3"]
def bar(input, outlist):
temp = input
outlist.append(temp)
return outlist
r1 = [bar(i, outlist) for i in inputList]
但是我的结果
r1
Out[28]:
[['input1', 'input2', 'input3'],
['input1', 'input2', 'input3'],
['input1', 'input2', 'input3']]
这是我的建议,我认为这样做可以:
那么我在这里遗漏了什么/不明白什么呢?为什么我会得到一个由三个相同的列表组成的列表,而不是一个单独的列表?抱歉,如果以前有人问过这个问题,但如果有,我找不到它(可能是因为我没有搜索正确的术语)
编辑:对不起,如果我不清楚。我的目标不是创建一个列表的副本,我只是想用一个简单的例子来演示列表的结果。请不要将此标记为问题的副本,因为列表副本不是问题的主题。你知道吗
Edit2:我想要的输出: ['input1'、'input2'、'input3']
换句话说,我想做一个列表理解,它遍历一个列表,对该列表中的项做一些处理,并将该项附加到一个作为输出的列表中。下面是另一个例子,只是要说明,复制原始列表不是我的重点:
outlist = []
inputList = [1, 2, 3]
def bar(input, outlist):
temp = input + 1
outlist.append(temp)
return outlist
r1 = [bar(i, outlist) for i in inputList]
r1
Out[31]:
[[2, 3, 4], [2, 3, 4], [2, 3, 4]]
期望输出:
[2,3,4]
抱歉,我在这里太厚了。。你知道吗
编辑:
相关问题 更多 >
编程相关推荐