Skip to main content
 首页 » 编程设计

python之给定一个可迭代的集合和一个名称(字符串),返回一组与给定的 "name"相关联的名称

2025年05月04日25jpfss

给定一个名称(作为字符串)和一个包含两个名称(作为字符串)的集合的可迭代对象,返回一个新集合,该集合由与给定名称共享一个集合的名称组成。

例如:

 itr = ({"a", "b"}, {"b", "c"}, {"c", "a"}) 
 name = "a" 
 newset = {"b", "c"} 

我正在寻找解决此问题的 pythonic 方法。这是我目前的困惑状况:

def friends(itr, name): 
    newset = [] 
    for i in itr: 
        if name in i: 
            for j in i: 
                if j != name: 
                    newset.append(j) 
    return set(newset) 

如有任何帮助,我们将不胜感激。一般来说,我对 Python 和编程还比较陌生。谢谢

请您参考如下方法:

>>> set(e for s in itr for e in s if name in s) - set((name,)) 
set(['c', 'b'])