首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >枚举包含字符串和整数的子列表(python)

枚举包含字符串和整数的子列表(python)
EN

Stack Overflow用户
提问于 2015-10-20 08:15:50
回答 4查看 98关注 0票数 1

这里是我的列表的一个例子。我想枚举这个列表中的每个嵌套列表,并且仍然能够以相同的格式打印列表列表。在我枚举这些嵌套列表之后,我还想通过枚举进行索引,以便按数字搜索主列表。这个是可能的吗?

代码语言:javascript
复制
weaponstore = [['Slingshot', 5, 20],['Leather Sandals', 5, 40],['Wooden Sword', 15, 100]]

我想列举一下“武器库”清单,以便以后:

代码语言:javascript
复制
weaponstore = [[0, 'Slingshot', 5, 20],[1,'Leather Sandals', 5, 40],[2,'Wooden Sword', 15, 100]]
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-10-20 09:00:51

在项目中存储项的索引没有好处。看起来,您可能只是想打印武器商店作为一个编号的列表,以便用户可以更容易地选择他们想要的。与其将索引放入每个项中,不如只在不改变数据结构的情况下显示它:

代码语言:javascript
复制
>>> 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,以确定他们想要的项目。

票数 0
EN

Stack Overflow用户

发布于 2015-10-20 08:31:57

运用理解力和enumerate。(创建一个新列表。)

代码语言:javascript
复制
[[i] + l for i, l in enumerate(weaponstore)]

或者在里面。(改装武器库)

代码语言:javascript
复制
for i, l in enumerate(weaponstore):
    l.insert(0, i)
票数 0
EN

Stack Overflow用户

发布于 2015-10-20 08:48:42

这个怎么样?使用python列表理解。

代码语言:javascript
复制
>>> [[i] +j for i, j in enumerate(weaponstore)]
[[0, 'Slingshot', 5, 20], [1, 'Leather Sandals', 5, 40], [2, 'Wooden Sword', 15, 100]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33231428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档