擅长:python、mysql、java
<pre><code># assumes Python 3.x
from itertools import zip_longest
INPUT = "shuffled.txt"
OUTPUT = "by_fives.txt"
# from itertools documentation,
# https://docs.python.org/3.4/library/itertools.html
def grouper(iterable, n, fillvalue=None):
"Collect data into fixed-length chunks or blocks"
# grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return zip_longest(*args, fillvalue=fillvalue)
def main():
with open(INPUT) as wordfile, open(OUTPUT, "w") as result:
wordlist = (line.strip() for line in wordfile)
for fivewords in grouper(wordlist, 5, ""):
result.write(" ".join(fivewords) + "\n")
if __name__ == "__main__":
main()
</code></pre>