多维列表获取字符串的位置 Python

Multidimensional List get Position of a String Python

我得到了以下列表

relational_scheme = [["F",["DC"]],["A",["EBD"]],["DC" , ["BAF"]],["E",["DB"]]]

现在我想把第二个列表作为一个集合,比如

def returnSetOfList(relational_scheme,"F")

所以这个输出生成

set(["DC"])

我该怎么做?一个简单的索引不起作用。

提前致谢。

更新

明白了,只是瞎了眼 解决方案:

def returnSetOfList(scheme,string):
    for x in scheme:
        if string in x:
            return set(x[1])

您可以创建字典,然后 return 给定键值的 set()

例子

>>> def returnSetOfList(scheme, key):
...     a_dict = dict(scheme)
...     return set( a_dict[key] )
... 

>>> relational_scheme = [["F",["DC"]],["A",["EBD"]],["DC" , ["BAF"]],["E",["DB"]]]
>>> returnSetOfList(relational_scheme, "F")
set(['DC'])

您可以使用字典理解来创建字典,并通过索引简单地获得预期结果:

>>> relational_scheme = [["F",["DC"]],["A",["EBD"]],["DC" , ["BAF"]],["E",["DB"]]]
>>> 
>>> d={i:set(j) for i,j in relational_scheme}
>>> d['F']
set(['DC'])

您可以使用如下方法:

def returnSetOfList(scheme, string):
    for i in scheme:
        if i[0] == string:
            return set(i[1])