我必须编写一个程序,它从文件中读取并打印一个包含姓名、姓氏的列表。到目前为止,我已经能够让它做所有的事情,除了打印信息的正确形式:
def main():
file = open("users.txt", "r")
data = file.read()
data2 = data.split("\n")
for line in data2[0:]:
a = line.split("|")
print(a)
main()
而不是像我需要的那样打印出[['name1','last1'],['name2','last2'],['name3','last3']],而是打印出:
['name1', 'last1']
['name2', 'last2']
['name3', 'last3']
在users.txt文件中,信息为:
name1|last1
name2|last2
name3|last3
您的
split
语句将生成一个列表,这就是为什么会出现这样的行:如果要存储或打印列表列表,可以执行以下操作:
更好的是,我们可以使用
with
使文件的读取更加清晰:您在文件的行上迭代,并在每行上打印,所以最终打印的当然是。。。每一行(而不是你所期望的所有行)
为此,您需要首先收集行,这可以通过填充列表来完成:
或者更简洁地说,理解:
打印生成的
lines
列表将采用您期望的格式,即行列表,每行都是字段列表试试这个:
相关问题 更多 >
编程相关推荐