我在Python中有一个名为my_list
的很长的列表。我想按照以下两个条件打印此列表的内容:
这是我想要的输出:
001 csfiohfewiehns
002 hdifhdigbdgib
003 fdifhihiwhgighigh
004 jfjodopfhaeohgheg
到目前为止,我已经尝试了以下代码:
print("\n".join.(my_list))
这有效,现在每个项目都出现在一个新行中。但是,我仍然不知道如何使用我想要的格式对行进行编号。我听说过函数enumerate
,虽然我不知道如何将它与我当前的代码行结合起来。
有任何想法吗?
您可以使用enumerate
生成索引:
print("\n".join('%03d %s' % (i, s) for i, s in enumerate(my_list, 1)))
同意blhsing,但因为这个案例列表理解更快,所以:
print("\n".join(['%03d %s' % (i, s) for i, s in enumerate(my_list, 1)]))
还得到了Mateen的方式:
print('\n'.join([f'{i + 1:03} {x}' for i, x in enumerate(xs)]))
或者zfill
作为bhlsing的方式:
print('\n'.join([' '.join((str(i).zfill(3),v)) for i,v in enumerate(a,1)]))
或者作为马滕的方式:
print('\n'.join([' '.join((str(i+1).zfill(3),v)) for i,v in enumerate(a)]))
这可能是最简单的方法:
'\n'.join(f'{i + 1:03} {x}' for i, x in enumerate(xs))
你总是可以使用for循环而不是创建一个新字符串:
my_list = ["abc", "def"]
for i, item in enumerate(my_list):
print(f'{i:03} {item}')
这将输出:
000 abc
001 def
如果你不理解上面的一些代码,请发表评论,我会澄清。