<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          在控制臺print時如何對齊字符串?

          共 3422字,需瀏覽 7分鐘

           ·

          2021-05-25 12:47


          大家好,歡迎來到 Crossin的編程教室 !

          很多同學(xué)在使用命令行輸出數(shù)據(jù)時都遇到一個問題:不同長度的字符無法對齊,即使用 \t 也會有問題,導(dǎo)致結(jié)果不夠美觀。

          今天就給大家介紹在命令行打印字符串時,按規(guī)則對齊的兩種方法,幫助大家在 shell 界面下輸出漂亮的表格。

          第一種:使用 format

          先來看幾個小 demo

          左對齊

          >>> "{:<10}".format("a")
          'a         '
          >>> 

          右對齊

          >>> "{:>10}".format("a")
          '         a'
          >>> 

          居中

          >>> "{:^10}".format("a")
          '    a     '
          >>> 

          當(dāng)你不指定 < 、>、^ 時,默認(rèn)就是左對齊

          >>> "{:10}".format("a")
          'a         '
          >>> 

          有了上面的鋪墊,寫一個整齊的 1-10 的平方、立方表就很容易了。

          >>> for x in range(111):
          ...        print('{:2d} {:3d} {:4d}'.format(x, x*x, x*x*x))
          ...
           1   1    1
           2   4    8
           3   9   27
           4  16   64
           5  25  125
           6  36  216
           7  49  343
           8  64  512
           9  81  729
          10 100 1000

          對齊的思想其實就是在不足的位自動給你補上空格。

          如果不想使用空格,可以指定你想要的字符進行填充,比如下面我用 0 來補全。

          >>> for x in range(111):
          ...     print('{:02d} {:03d} {:04d}'.format(x, x*x, x*x*x))
          ... 
          01 001 0001
          02 004 0008
          03 009 0027
          04 016 0064
          05 025 0125
          06 036 0216
          07 049 0343
          08 064 0512
          09 081 0729
          10 100 1000

          第二種:使用 ljust, rjust

          左對齊

          >>> "a".ljust(10)
          'a         '
          >>> 

          右對齊

          >>> "a".rjust(10)
          '         a'
          >>> 

          居中

          >>> "a".center(10)
          '    a     '
          >>> 

          同樣寫一個整齊的 1-10 的平方、立方表

          >>> for x in range(111):
          ...     print(' '.join([str(x).ljust(2), str(x * x).ljust(3), str(x * x * x).ljust(4)]))
          ... 
          1  1   1   
          2  4   8   
          3  9   27  
          4  16  64  
          5  25  125 
          6  36  216 
          7  49  343 
          8  64  512 
          9  81  729 
          10 100 1000

          如果不想使用空格,而改用 0 來補齊呢?可以這樣

          >>> for x in range(111):
          ...     print(' '.join([str(x).rjust(2"0"), str(x*x).rjust(3"0"), str(x*x*x).rjust(4"0")]))
          ... 
          01 001 0001
          02 004 0008
          03 009 0027
          04 016 0064
          05 025 0125
          06 036 0216
          07 049 0343
          08 064 0512
          09 081 0729
          10 100 1000

          以上就是今天的分享,很多漂亮的表格打印模塊都是基于以上內(nèi)置函數(shù)實現(xiàn)的,掌握了這兩個,以后都可以自己實現(xiàn)啦!

          如果文章對你有幫助,歡迎轉(zhuǎn)發(fā)/點贊/收藏~

          作者:寫代碼的明哥

          來源:Python編程時光


          _往期文章推薦_

          Python格式化字符串的最佳姿勢




          如需了解付費精品課程教學(xué)答疑服務(wù)
          請在Crossin的編程教室內(nèi)回復(fù): 666

          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天操夜夜摸 | 天堂草原电视剧一念天堂草原电视剧v8给我发 | 五月天六月婷婷 | 国产黄色三级片 | 丁香五月婷婷综合激情 |