litofdict = [{'name': 'Mike', 'surname':'Mikeson', 'age':'15\n'},{'name': 'John', 'surname':'Johnson', 'age':'15\n'},{'name': 'Tomy', 'surname':'Tomson', 'age':'19'}]
如果只有它们存在时才会删除那些'\ n'(我不知道如何检查)并返回一个仅包含“从字典'\ n'清除的值的列表?谢谢:)< / p>
with open("name.txt") as file:
for l in file:
listofdict.append(dict(zip(['name','surname','age']), l.split('|'))))
return listofdict
答案 0 :(得分:2)
您可以遍历dict.items()
和strip
值以删除回车符,然后使用列表推导为每个dict
执行此操作
>>> [{key: val.strip() for key, val in i.items()} for i in listofdict]
[{'surname': 'Mikeson', 'age': '15', 'name': 'Mike'},
{'surname': 'Johnson', 'age': '15', 'name': 'John'},
{'surname': 'Tomson', 'age': '19', 'name': 'Tomy'}]
很难说没有看到你的文件,但是你可以通过调整你的文件读数而不需要任何后期处理来做到这一点
with open("name.txt") as file:
listofdict = [dict(zip(['name','surname','age']), l.strip().split('|')) for l in file]
return listofdict