Python列表理解:如何操作文件中的文本
我有一个名为Python列表理解:如何操作文件中的文本,python,file,list-comprehension,Python,File,List Comprehension,我有一个名为nbatams.txt的文件,其中包括以下内容 Bucks 41 Raptors 35 Celtics 32 Heat 32 Pacers 31 76ers 31 Nets 21 Magic 21 我试图以列表理解的方式阅读文件的部分内容,但我似乎做错了什么 例如,我想显示所有赢得30场以上胜利的球队,以及5个以上字母的球队名称 我发现我可以做到这一点 file_contents = [line.strip() for line in open("nbateams.t
nbatams.txt
的文件,其中包括以下内容
Bucks 41
Raptors 35
Celtics 32
Heat 32
Pacers 31
76ers 31
Nets 21
Magic 21
我试图以列表理解的方式阅读文件的部分内容,但我似乎做错了什么
例如,我想显示所有赢得30场以上胜利的球队,以及5个以上字母的球队名称
我发现我可以做到这一点
file_contents = [line.strip() for line in open("nbateams.txt", "r")]
for team in file_contents:
name, wins = team.split()
print("The", name, "have won", wins)
想得到获胜球队的名单,但我试过了
five_letters = [teams for teams in file_contents if len(team_name) < 5]
print(five_letters)
five_letters=[文件内容中团队的团队,如果len(团队名称)<5]
打印(五个字母)
这根本不对。我只是得到一张空名单。我非常感谢您的帮助。问题是您正在检查列表中整行的长度 请尝试以下方法:
five_letters=[line.split()[0]表示文件内容中的行,如果len(line.split()[0])<5]
这应该允许您只检查单个团队名称的长度,然后将其添加到您的列表中。谢谢!如果我可以问一下,[0]和[1]是什么意思?该语法用于访问列表中的单个元素。Python列表的索引为零,因此第一个元素属于索引0,第二个元素属于1,依此类推。。。