[英]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.