所以我有一个单词列表,我想格式化它以显示某种方式
["car", "dinosaur", "cat", "Rat"]
这是列表的一个例子。基本上,我想打印出List的元素,旁边有一个数字1。格式化进入了我想用最大的单词区分它的位置。
dinosaur 1
car 1
cat 1
Rat 1
所以你可以看到1在最长的单词之后出现的情况。问题是如何从列表中格式化这个。我正在使用的代码是循环遍历单词列表以找到最长的单词,然后为每个较小的单词添加空格,以便与最大单词的长度相同。这样做更容易吗?
答案 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))