Python:遍历两个列表并将它们写在同一行的outfile中

时间:2014-04-18 00:25:00

标签: python list zip

我想同时迭代两个列表并从两个列表中写出每个项目,在同一行上以制表符分隔。

word = ['run', 'windless', 'marvelous']
pron = ['rVn', 'wIndl@s', 'mArv@l@s']

期望的输出:

run  rVn
windless  wIndl@s
marvelous  mArv@l@s

我尝试使用zip,但它不允许我写入文件:

for w, p in zip(word, pron):
   outfile.write(w, p)

TypeError: function takes exactly 1 argument (2 given)

3 个答案:

答案 0 :(得分:1)

write只接受一个参数作为参数。要在同一行中写入两个变量,请更改:

outfile.write(w, p)

这样它就是一个带有制表符和换行符的字符串:

outfile.write("{}\t{}\n".format(w,p))

答案 1 :(得分:0)

我认为你正走在正确的道路上。你只需要给write()函数写一行即可。

像这样:

for w, p in zip(word, pron):
    outfile.write("%s, %s" % (w, p))

答案 2 :(得分:0)

如果您想让自己的生活更轻松,可以使用print statement / function。

Python 2

print >>outfile, w, p

Python 3(或者在顶部使用from __future__ import print_function的Python 2):

print(w, p, file=outfile)

这样您就可以避免手动添加' \ n'或将所有内容转换为单个字符串。