Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表理解:如何操作文件中的文本_Python_File_List Comprehension - Fatal编程技术网

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,依此类推。。。