【问题标题】:How can I number each item in this list? Python如何编号此列表中的每个项目? Python
【发布时间】:2012-03-17 22:40:44
【问题描述】:

我是 python 新手。

请参见下面给出的输出 1a、1b、1c 等。我如何让它给我输出 1a、2b、3c、..?

range = range(1,4)
list = ['a','b','c']
for each in range:
    for i in list:
        print str(each) + i

非常感谢您的帮助。

【问题讨论】:

  • 如果由于某种原因你不想使用enumerate,但又想使用range,那么你可以使用for each, i in zip(range, list):
  • 感谢 agf,这是一个不错的方法。

标签: python loops for-loop


【解决方案1】:

使用enumerate。这将向您展示它的作用:

for num, let in enumerate(mylist, 1):
    print num, let

顺便说一句,不要将变量命名为“list”。它覆盖了内置的list()

【讨论】:

  • 查看enumerate built-in function上的文档。
  • 如果你使用print a, b, c... 方法,你会得到索引和字母之间的空格。另外,枚举从 0 开始,所以你会得到 0 a1 b 等等。
  • @agf 不错。我不知道start 参数。
  • @JoelCornett enumerate 从你想要的任何地方开始 -- enumerate(mylist, 1) 从 1 开始。他已经知道如何print 他们之间没有空格。
  • 他(或她)已经知道如何组合数字和字符串。他需要知道enumerate。不过,关于开始的好点,它是相关的。
【解决方案2】:

请注意,您不应该使用list 作为变量名——它隐藏了内置的list。 以下代码使用myList 代替:

for index, val in enumerate(myList, start=1):
    print "%d%s" % (index, val)

【讨论】:

    【解决方案3】:

    我猜你的问题是使用 two for 循环。为什么不把事情简单化并使用类似的东西:

    myrange = range(1,4)
    mylist = ['a','b','c']
    for each in myrange:
        print str(each)+mylist[each-1],
    

    【讨论】:

    • 谢谢考斯图布。这与我想做的事情完美结合。
    猜你喜欢
    • 1970-01-01
    • 2017-12-17
    • 2012-08-09
    • 2021-12-25
    • 2021-08-26
    • 2016-06-30
    • 2011-12-02
    • 2021-07-06
    相关资源
    最近更新 更多