如果元素出现在字符串列表中,则从元组列表中获取元组

时间:2018-01-09 17:06:56

标签: python list

您好我正在进行数据转换项目。我有tuples A = [("someThing",0),("someThingOnce",1),("someThingTwice",2)]

B = ["something","somethingonce","somethingagain"]

和另一个字符串列表:

list A

现在我想要做的是,我希望list B中存在来自C = [("someThing",0),("someThingOnce",1)] 的元素。

所需的输出是:

list B

我如何以优化的方式实现这一目标,因为7000具有list A元素,而numpy具有最多20个元素。

我无法使用list A因为列表不属于同一类型,我也可能包含数字。

decodeIfPresent元素中的元组[0]也可能重复。

1 个答案:

答案 0 :(得分:1)

list-comprehension是最有效的解决方案(如果A的元素少于B)。

>>> A = [("someThing",0),("someThingOnce",1),("someThingTwice",2)]
>>> B = ["something","somethingonce","somethingagain"]
>>> C = [(i, j) for i, j in A if i.lower() in B]
>>> C
[('someThing', 0), ('someThingOnce', 1)]