python格式化列表中的代码

时间:2016-01-20 19:24:36

标签: python

所以我有一个单词列表,我想格式化它以显示某种方式

 ["car", "dinosaur", "cat", "Rat"]

这是列表的一个例子。基本上,我想打印出List的元素,旁边有一个数字1。格式化进入了我想用最大的单词区分它的位置。

dinosaur 1
car      1
cat      1
Rat      1

所以你可以看到1在最长的单词之后出现的情况。问题是如何从列表中格式化这个。我正在使用的代码是循环遍历单词列表以找到最长的单词,然后为每个较小的单词添加空格,以便与最大单词的长度相同。这样做更容易吗?

2 个答案:

答案 0 :(得分:2)

找到最长的单词并格式化输出:

max_length = len(max(words, key=len))
for word in words:
    print "{0:{1}s} 1".format(word, max_length)

答案 1 :(得分:1)

怎么样

# find longest word
word_length = max(len(word) for word in words)

# create a format string
format_str = "{{:{}s}} 1".format(word_length)

# use the format string
for word in words:
    print(format_str.format(word))