亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在長列表中保持一致的寬度?

如何在長列表中保持一致的寬度?

慕哥9229398 2022-01-18 15:55:45
我有一長串排名,如下所示:1. xxx2. xxx...14. xxx...456. xxx如您所見,每條線的寬度都不同。我插手了zfill(),但我不知道如何根據最寬條目的長度插入正確數量的零。任何幫助,將不勝感激。編輯:我的排名列表是一個類似的列表 ['player 1', 'player 7', 'player 8']
查看完整描述

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

>>> 


查看完整回答
反對 回復 2022-01-18
?
桃花長相依

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


查看完整回答
反對 回復 2022-01-18
  • 2 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號