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

标签 python list

您好,我正在从事数据转换项目。我有一个元组列表:

A = [("someThing",0),("someThingOnce",1),("someThingTwice",2)]

和另一个字符串列表:

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

现在我想要做的是,我想要 list A 中存在于 list B 中的元素。

期望的输出是:

C = [("someThing",0),("someThingOnce",1)]

我怎样才能以优化的方式实现这一点,因为 list B7000 元素,而 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/

相关文章:

python - 函数序列错误 (0) (SQLFetch) - SQL、Pyodbc

java - 如何将列表 <Products> 插入数据库

python - 无限循环列表

由于字典变得太大,Python 函数花费的时间太长

python - zip 参数 #1 在循环 zip 时必须支持迭代错误

java - 如何将 "Hashmap values of List type"转换成Set?

list - 如何在 Dart 中创建一个空列表

python - 无法在 python 列表中追加字典列表

python - 基于 numpy 索引和 TensorFlow 中的唯一运算符创建新张量

python - 我从哪里获得 Flask 的 SECRET_KEY?