【问题标题】:How to fix a string length in python如何在python中修复字符串长度
【发布时间】:2020-05-13 13:25:08
【问题描述】:

我有一个简单的程序,它读取一个列表并将第一个字母大写,但我想将所有字符串的字符串长度固定为相同,然后输出到一个新列表,新字符串位于中心并填充向左和向右 - 我见过不同的方法,但没有让它们起作用。有人可以帮忙吗,拜托!谢谢!

old_list = ['cow', 'dog', 'elephant', 'horse']
new_list = []

for item in old_list:
    new_list.append(item.capitalize())
    print(item)

for item in new_list:
    print(len(item))

【问题讨论】:

    标签: python string format


    【解决方案1】:

    对于可变宽度(限制最长字)

    old_list = ['cow', 'dog', 'elephant', 'horse']
    max = 0
    for i in old_list:
        if len(i) > max:
            max = len(i)
    
    new_list = []
    for i in old_list:
        new_list.append('{item:^{width}}'.format(item=i, width=max))
    
      cow   
      dog   
    elephant
     horse  
    

    【讨论】:

    • 对不起,我是新手——当我从旧列表中读取它之前,我将如何格式化循环中的项目,然后再添加到 new_list。类似 item.format..谢谢回复
    • 替换打印为:new_list.append('{item:^{width}}'.format(item=i, width=max))
    【解决方案2】:

    您可以使用格式化字符串以固定宽度居中

    for i in new_list:
        print('{:^12s}'.format(i))
    

    输出

        Cow     
        Dog     
      Elephant  
       Horse    
    

    在本例中,所有字符串都设置为 12 个字符宽并居中。

    【讨论】:

    • 对不起,我是新手——当我从旧列表中读取它之前添加到 new_list 之前,我将如何格式化循环中的项目。类似 item.format..谢谢回复
    • 我并不清楚我正在努力解决的部分是将新格式化的项目添加到新列表中
    猜你喜欢
    • 1970-01-01
    • 2012-01-19
    • 2018-01-30
    • 2017-08-19
    • 1970-01-01
    • 2018-03-03
    • 2019-07-15
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多