Python逐个打印列表并添加

2024-06-08 15:02:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图打印一个对象列表,一个一个,同时打印旁边的计数。你知道吗

在代码中添加一些内容

for i in items:
    print(i)

退货:

  1. 羊毛

  2. 亲爱的

    等等


Tags: 对象代码in内容列表foritems计数
3条回答

怎么样:

for j in range(len(items)):
    print("%d. %s" % (j+1, items[j]))

您要查找的函数是enumerate

for idx, val in enumerate(items, 1):
    print(idx + '. ' + val)

正如Harvey所建议的,enumerate返回一个元组,但是str.join只接受str个iterables。如果对键和值都是字符串的可索引对象进行迭代(例如,strstrdict),那么代码

for idx_val_pair in enumerate(items, 1):
    print('. '.join(idx_val_pair))

也行。你知道吗

编辑:如果您刚开始使用Python(我想是这样),那么不要担心下面的内容,但是如果您想保持PyPy和CPython(以及其他)之间的性能一致性,那么字符串连接最好使用join方法。上面代码的“正确”版本是

for idx, val in enumerate(items, 1):
    print('. '.join([str(idx), str(val)])

enumerate提供返回的当前项的索引。你知道吗

你可以这样使用它:

# enumerate items, but start counting at 1
for i, j in enumerate(items, 1):
  print("{0}. {1}".format(i, j))

下面是一个用法示例:

>>> items = ["wool", "honey", "string"]
>>> for i, j in enumerate(items, 1):
...   print("{0}. {1}".format(i, j))
... 
1. wool
2. honey
3. string

相关问题 更多 >