python - 寻找列表之间的共性

标签 python list

Python 新手 -

我有多个文本文档,其中包含来自多个 AD 组的用户,我需要根据组成员身份解析每个文档和组用户(用户名):例如: 营销文档有 Marketing_grp:

John, Bob, Sally

销售文档有 Sales_grp:

Bob, Ron, Jeff

技术文档有 Technology_grp:

Bob, Mike, Sally

我需要能够看到 Bob 和 Sally 属于多个组,并且我需要知道这些组是什么,如何使用 Python 来完成此任务?

文本文件中的数据采用电子邮件地址的形式,如[email protected]

#AD Group Usage
import re
from sys import argv
import shelve

script, filename = argv

def ADgrps(filename):
    f=open(filename, "r+")
    text=f.read()
    ad_grps = re.findall(r'[\w]+(?=@)', text)
    return ad_grps

最佳答案

我会做这样的事情。

import re
import sys

groups = {}
for s in sys.argv[1:]:
    with open(s) as f:
        for t in re.findall(r"[\w]+(?=@)", f.read()):
            if t in groups:
                groups[t].append(s)
            else:
                groups[t] = [s]

# Do stuff with the data.

现在您有了一个字典,将电子邮件映射到它们出现的文件。此代码期望相关文件的名称作为命令行参数传递。

关于python - 寻找列表之间的共性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42167536/

相关文章:

python - 计算每个字母在文本样本中出现的次数

c# - 从列表中填充组合框

Python:迭代两个列表并将一个 list1 中的元素替换为 list2 中的元素

java - Android 上的 Ksoap——从 Java Web 服务获取列表响应

python - ElementTree,Python - 查找子元素包含特定文本的元素并将另一个子元素添加到列表中

python - 计算数据框中所有条目对的编辑距离,无需重复对

python - 如何比较 Python 的两个列表列表并通过列表中的单个元素删除重复项

python - 如何在 JSON avro 模式中创建枚举数组?

python - 这个构造在 python : ( x, y 中叫什么)

python - glob.glob(...) 应该优于 os.listdir(...) 还是相反?