所以我给了一个带有名字和数字的txt文件:
Sam 24
John 30
Rob 44
我需要使用列表推导将其转换为嵌套列表,如下所示:
[["Sam","24"],["John","30]....]
(然后我将其插入到打印出来的程序中)
目前我已经走到了这一步
names = [[name,age] for name in open("people.txt","r").read().split() if name.isalpha()\
for age in open("people.txt","r").read().split() if age.isdigit()]
基本上,这给了我一些我需要的东西,但是下半年的部分循环太多了。来自这里的任何想法?我有点难过。
答案 0 :(得分:5)
您目前正在阅读该文件两次;在一次迭代中获取名称,并在第二次迭代中获取年龄
相反,这可以通过简单的列表理解在单个迭代中完成:
with open("people.txt","r") as f:
names = [t.split() for t in f]