您好,我正在从事数据转换项目。我有一个元组
的列表
:
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
最多有 20 个元素。
我不能使用 numpy
,因为列表的类型不同,即 B 也可能包含数字。
list A
元素中的 tuple[0] 也可能重复。
最佳答案
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)]
关于python - 如果元素出现在字符串列表中,则从元组列表中获取元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48173305/