Python列表理解: How do I manipulate text from a file

标签 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.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 = [line.split()[0] for line in file_contents if len(line.split()[0]) < 5] 

这应该允许您仅检查单个团队名称的长度,然后将其添加到您的列表中。

关于Python列表理解: How do I manipulate text from a file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028574/

相关文章:

python - 特定调用类别的第一次调用与同一调用类别的后续调用之间的调查分数差异

python - 在Django中指定SSL CACERT通过Cuttle Proxy运行

java - 使用DataOutputStream保存文件,如何out写入list<String>

python - 使用 Python 中的字典理解将 3 个列表独特地组合为 1

python - CSS 未在 CGI 脚本中应用

c - 从文件中扫描字符串

c - 从 C 中的路径名中提取基本路径

python - 使用一个列表理解后是否有可能继续在我的列表中添加元素?

python - 在集合列表中查找属于子集的集合并选择它们

javascript - 如何使用 BeautifulSoup 和 Requests 抓取动态变量 Javascript 值