我有一个清单:
list1 = [1,2,3]
我通过一些任意函数查找列表中每个项目的信息,并想要添加结果,以便列表变为:
list1 = [(1,a),(2,b),(3,x)]
如何在Python3中实现这一目标?
for item in list1:
newinfo = some_arbitrary_function(item)
item = (item, newinfo)
似乎不起作用.
解决方法:
你需要一个列表理解:
lst = [1,2,3]
result = [(item, function(item)) for item in lst]
使用列表作为名称不是一个好主意,您将隐藏内置的原始列表,使其在您的代码中稍后无法访问.
如果您想保留对原始列表的引用:
lst[:] = [(item, function(item)) for item in lst]