gpt4 book ai didi

用于在长列表中查找唯一名称的 Python 命令

转载 作者:行者123 更新时间:2023-11-28 17:36:12 25 4
gpt4 key购买 nike

我有一个数据文件,其中列出了日期(由包含 . 的行表示)和名称后跟一个数字:

2015.05.22
nameA 15
nameB 32
2015.05.20
nameA 2
nameC 26

这个列表文件很长(约 97k 行并且每天都在增长),我想(快速)列出所有唯一名称。在 bash 中我可以这样做:

cat file.txt | awk '{print $1}' | grep -v '\.' | sort -u | awk 'NF'

但是我在 Python 中使用这些数据,我想知道是否有一种方法可以在 Python 中做同样的事情。显然,我可以简单地从 python 脚本调用此 shell 命令,但我宁愿学习执行此操作的“最佳实践”方法。

最佳答案

这将实现基本上与您的“Shell”脚本相同的一组行为的技巧:

过滤给定文件中的行;删除任何包含 . 的行;获取一组独特的数据;打印出来

示例:

from __future__ import print_function

lines = (line.strip() for line in open("foo.txt", "r"))
all_names = (line.split(" ", 1)[0] for line in lines if "." not in line)
unique_names = set(all_names)
print("\n".join(unique_names))

输出:

$ python foo.py 
nameC
nameB
nameA

关于用于在长列表中查找唯一名称的 Python 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30399396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com