如何将两个列表按顺序附加到文本文件中?
How to append two lists in order into a text file?
假设我有两个列表:
a = [1, 2, 3, 4]
b = [hello, how, iz, life]
我如何创建一个新列表 c
以获取列表 a
中的每个元素并将其与列表 b
中的元素相匹配?我希望文本文件看起来像这样:
1 hello
2 how
3 iz
4 life
我尝试 c.append(a,b)
,但出现以下错误:
TypeError: list.append() takes exactly one argument (2 given)
尝试以下操作:
a = [1, 2, 3, 4]
b = ["hello", "how", "iz", "life"]
c = zip(a,b)
with open("sample.txt", 'w') as outfile:
for elem in c:
outfile.write(str(elem[0]) + " " + elem[1] +"\n")
这将输出:
1 hello
2 how
3 iz
4 life
到名为 sample.txt.
的文件
编辑:
凯利提出了一个很好的观点,你可以将这条线简化为 print(*elem, file=outfile)
。我查看了 docs for print,我惊讶地发现 print 函数为 *objects 参数中给定的元素定义了一个分隔符,并通过默认参数以换行符结束该行,这为我们提供了相同的所需输出。
假设我有两个列表:
a = [1, 2, 3, 4]
b = [hello, how, iz, life]
我如何创建一个新列表 c
以获取列表 a
中的每个元素并将其与列表 b
中的元素相匹配?我希望文本文件看起来像这样:
1 hello
2 how
3 iz
4 life
我尝试 c.append(a,b)
,但出现以下错误:
TypeError: list.append() takes exactly one argument (2 given)
尝试以下操作:
a = [1, 2, 3, 4]
b = ["hello", "how", "iz", "life"]
c = zip(a,b)
with open("sample.txt", 'w') as outfile:
for elem in c:
outfile.write(str(elem[0]) + " " + elem[1] +"\n")
这将输出:
1 hello
2 how
3 iz
4 life
到名为 sample.txt.
的文件编辑:
凯利提出了一个很好的观点,你可以将这条线简化为 print(*elem, file=outfile)
。我查看了 docs for print,我惊讶地发现 print 函数为 *objects 参数中给定的元素定义了一个分隔符,并通过默认参数以换行符结束该行,这为我们提供了相同的所需输出。