我具有以下功能,可从python文件获取唯一单词:
if high <= low and array[(low+high)//2] != value:
如果我从主函数中这样调用它:
def add_unique(s, word_list):
for word in s.strip().split():
word = word.lower()
if word not in word_list:
word_list.append(word)
这将所有唯一的单词打印在一个列中,我想知道如何在3个单独的列中打印列表中的所有单词?提前致谢。
答案 0 :(得分:2)
您可以按照以下方式使用ljust
中的方法str
:
words = ['some','example','words','for','testing']
longest = max(map(len,words))
for w in [words[i:i+3] for i in range(0,len(words),3)]:
print(' '.join([j.ljust(longest) for j in w]))
输出为:
some example words
for testing
请注意,这种方法会适应您list
中最长的单词。
答案 1 :(得分:1)
您可以遍历words
的列表,使用切片,将每三个元素一起打印,如下所示:
print("Unique words in my file are: ")
for i in range(len(words)-2):
print(words[i:i+3])
您甚至可以使用以下方式进一步格式化输出:
print("Unique words in my file are: ")
for i in range(len(words)-2):
print("{} - {} - {}".format(*words[i:i+3]))
或使用高级格式来对齐输出:
print("Unique words in my file are: ")
for i in range(len(words)-2):
print("{:10} - {:10} - {:10}".format(*words[i:i+3]))
答案 2 :(得分:1)
您可以对字符串使用默认的重载运算符。这是一个示例("\t"
表示制表符):
words = ["Xander", "Spec", "Meng", "Sparc", "Jones", "Nick", "Link", "Xander", "Spec", "Meng"]
print("Unique words in my file are: ")
word_temp=""
i=1
for word in words:
if (i%3!=0):
word_temp+=word+"\t"
else:
word_temp+=word
print(word_temp)
word_temp=""
i+=1
print(word_temp)
这将导致每行words
中的每三个Unique words in my file are:
Xander Spec Meng
Sparc Jones Nick
Link Xander Spec
Meng
打印,并以制表符分隔:
{{1}}
答案 3 :(得分:1)
我希望这是您要寻找的东西:
words = [1, 2, 3, 4, 5, 6]
for index, word in enumerate(words):
# For every 3rd occurrence
if not (index + 1) % 3:
print(word, end='\n')
else:
print(word, end='\t')
输出
1 2 2 3
4/5 5 6
基于@karls输入更改了制表符的空间差异