2 回答
TA贡献1873条经验 获得超9个赞
您可以通过评估其长度的长度来评估最长条目的数字长度。例如,99 是 2 位长,len(str(99))是 2,表示需要两个字符。然后我们可以利用 f-string 格式来产生以下结果:
for x in range(len(rankings)):
print(f'{x+1:0{len(str(len(rankings)))}}. xxx')
例子:
rankings = [1]*5
for x in range(len(rankings)):
print(f'{x+1:0{len(str(len(rankings)))}}. xxx')
产生这个结果:
1. xxx
2. xxx
3. xxx
4. xxx
5. xxx
>>>
尽管
rankings = [1]*50
for x in range(len(rankings)):
print(f'{x+1:0{len(str(len(rankings)))}}. xxx')
产生这个结果:
01. xxx
02. xxx
03. xxx
04. xxx
05. xxx
06. xxx
07. xxx
08. xxx
09. xxx
10. xxx
11. xxx
12. xxx
13. xxx
14. xxx
15. xxx
16. xxx
17. xxx
18. xxx
19. xxx
20. xxx
21. xxx
22. xxx
23. xxx
24. xxx
25. xxx
26. xxx
27. xxx
28. xxx
29. xxx
30. xxx
31. xxx
32. xxx
33. xxx
34. xxx
35. xxx
36. xxx
37. xxx
38. xxx
39. xxx
40. xxx
41. xxx
42. xxx
43. xxx
44. xxx
45. xxx
46. xxx
47. xxx
48. xxx
49. xxx
50. xxx
>>>
TA贡献1860条经验 获得超8个赞
这是使用maxwith的一种方法len
前任:
data = ["1. xxx", "2. xxx", "14. xxx", "456. xxx"]
fill_value = len(max(data, key=lambda x: len(x)))
for i in data:
print(i.zfill(fill_value))
输出:
001. xxx
002. xxx
014. xxx
456. xxx
添加回答
举报