这里是我的列表的一个例子。我想枚举这个列表中的每个嵌套列表,并且仍然能够以相同的格式打印列表列表。在我枚举这些嵌套列表之后,我还想通过枚举进行索引,以便按数字搜索主列表。这个是可能的吗?
weaponstore = [['Slingshot', 5, 20],['Leather Sandals', 5, 40],['Wooden Sword', 15, 100]]我想列举一下“武器库”清单,以便以后:
weaponstore = [[0, 'Slingshot', 5, 20],[1,'Leather Sandals', 5, 40],[2,'Wooden Sword', 15, 100]]发布于 2015-10-20 09:00:51
在项目中存储项的索引没有好处。看起来,您可能只是想打印武器商店作为一个编号的列表,以便用户可以更容易地选择他们想要的。与其将索引放入每个项中,不如只在不改变数据结构的情况下显示它:
>>> weaponstore = [['Slingshot', 5, 20],['Leather Sandals', 5, 40],['Wooden Sword', 15, 100]]
>>> for idx,item in enumerate(weaponstore):
... print('#{}: {}\nQuantity: {}\nCost: {}'.format(idx, *item))
...
#0: Slingshot
Quantity: 5
Cost: 20
#1: Leather Sandals
Quantity: 5
Cost: 40
#2: Wooden Sword
Quantity: 15
Cost: 100这在weaponstore上循环,并将适当的索引附加到每个项上。对于每一项,它将打印一个格式化字符串,将传递的参数插入到花括号中。
您可能希望使用.format(idx+1, ...,而不是只使用idx,以便列表从更自然的1开始。然后,您将从用户输入的任何数字中减去1,以确定他们想要的项目。
发布于 2015-10-20 08:31:57
运用理解力和enumerate。(创建一个新列表。)
[[i] + l for i, l in enumerate(weaponstore)]或者在里面。(改装武器库)
for i, l in enumerate(weaponstore):
l.insert(0, i)发布于 2015-10-20 08:48:42
这个怎么样?使用python列表理解。
>>> [[i] +j for i, j in enumerate(weaponstore)]
[[0, 'Slingshot', 5, 20], [1, 'Leather Sandals', 5, 40], [2, 'Wooden Sword', 15, 100]]https://stackoverflow.com/questions/33231428
复制相似问题