【发布时间】:2014-08-15 06:05:33
【问题描述】:
我很难弄清楚为什么我的“行”列表中的最后 n 个元素在我的 item_list 列表中重复?所以如果我的行是一个元组列表:
(("ID 1", "info1", "description1"), ("ID 2", "info2", "description2"), ... ("ID 14", "info14", "description14"))
然后我将尝试从这个“行”元组列表中创建一个列表字典,以使用以下代码:
item_list = []
info = {}
for row in rows:
itemId = row[0]
itemInfo = row[1]
itemDesc = row[2]
info['ID'] = itemId
info['Info'] = itemId
info['Description'] = itemDesc
print info
item_list.append(info)
print item_list
所以如果我的“rows”列表有 14 个元素,我将在我的“item_list”字典列表中 14 次获得“rows”中的第 14 个元素(最后一个元素)。
item_list = [{"ID": "ID 14", "Info": "info14", "Description": "description14"}, {"ID": "ID 14", "Info": "info14", "Description": "description14"} ... ] #14 times
“行”列表是一个元组列表。如果我在附加到“item_list”之前打印“信息”字典,我可以看到我的“信息”字典的每个不同迭代。
有人有什么想法吗?提前致谢。
【问题讨论】:
-
rows定义在哪里? -
请举一个我们可以重现的例子。
-
您能否回顾一下您的缩进并提供一些示例输入以及预期和实际输出?
-
您的问题措辞不当。听起来您是在说最后一行是重复的,即最后一行出现两次,而所有其他行出现一次。但是您是说 所有 行都是最后一行的重复,这是一个更简单的问题。
-
首先,我非常感谢您的努力和整体态度。当您编辑被搁置的问题时,它会被放入审核队列,但仍需要 5 票才能重新打开它。审稿人显然不相信您的编辑提供了一个独立的可重现示例。或者也许他们只是没有打扰,因为这个问题已经有了一个公认的答案。至于如何让它变得更好,我想你可以提供一个
rows的例子,以便整个代码可以直接复制粘贴到解释器中(见第一条评论)。但这已经足够了,我投票决定重新开放。