• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

在列表中填充字符串的长度相同(Python)

python 来源:Karim Pazoki 5次浏览

我有一个从文件中读取的字符串列表。每个元素都是一行文件。 我想要有一个具有相同长度的字符串数组。我想找到最长的字符串,并重新格式化其他字符串,只要最长的字符串(在它们末尾有空格)。 现在我找到最长的一个。但我不知道如何重新格式化其他字符串。有人可以帮我吗?在列表中填充字符串的长度相同(Python)

with open('cars') as f: 
    lines = f.readlines() 
lines = [line.rstrip('\n') for line in open('cars')] 
max_in=len(lines[0]) 
for l in lines: 
    print (str(len(l))+" "+str(max_in)) 
    if max_in < len(l): 
     max_in=len(l) 
print max_in 


===========解决方案如下:

与此开始:

In [546]: array = ['foo', 'bar', 'baz', 'foobar'] 

使用max找到最大的字符串的长度:

In [547]: max(array, key=len) # ignore this line (it's for demonstrative purposes) 
Out[547]: 'foobar' 

In [548]: maxlen = len(max(array, key=len)) 

现在,使用列表理解和垫左:

In [551]: [(' ' * (maxlen - len(x))) + x for x in array] 
Out[551]: [' foo', ' bar', ' baz', 'foobar'] 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)