繁体   English   中英

如何在 Python 3 中打印出编号列表

[英]How to print out a numbered list in Python 3

我如何打印出每个 python 列表的索引位置,使其从 1 开始,而不是 0。这是我希望它看起来像什么的想法:

    blob = ["a", "b", "c", "d", "e", "f"]
    for i in blob:
        print(???)

输出:

1   a
2   b
3   c
4   d
5   e

我需要知道的是如何让这些数字与我要打印的内容一起显示? 我可以打印 ae 没问题,但我不知道如何给列表编号。

您需要枚举您的列表。 这意味着对于每个字母,它都有一个对应的数字。

以下是您的工作代码示例:

blob = ["a", "b", "c", "d", "e", "f"]

for number, letter in enumerate(blob):
    print(number, letter)

enumerate函数将在每个循环中为变量number指定变量letter在列表中的位置。

要显示它们,您可以使用print(number, letter)并排显示它们。

for a, b in enumerate(blob, 1):
    print '{} {}'.format(a, b)

使用内置操作的另一种解决方案:

编辑:如果您需要额外的空间:

s1 = ['a', 'b', 'c', 'd']
for i in s1:
    print(s1.index(i) +1, end=' ')
    print(" ",i)

输出:

1   a
2   b
3   c
4   d

您可以使用这种单衬。

print(list(enumerate(blob)))

从索引 1 开始

print(list(enumerate(blob, start=1)))

上面的代码将在一行中打印所有内容。 如果要在新行中打印每个元素

from pprint import pprint  # no install required
pprint(list(enumerate(blob, start=1)), depth=2)

enumerate对象的单行漂亮打印:

myList = ['a', 'b', 'c']
print(*enumerate(myList), sep='\n')

输出:

(0, 'a')
(1, 'b')
(2, 'c')

如果想要控制输出格式,请使用此格式(使用您自己的格式):

print('\n'.join(['{}-{}'.format(i, val) for i, val in (enumerate(myList))]))

输出:

0-a
1-b
2-c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM