我想从列表中的元组元素中列出项目列表,这些元素不属于其他列表,我知道每个元组都包含列表中的一个元素我不会#39 ; t希望它属于该列表中不属于的一个元素。例如,使用
tuples = [(2,1), (1,4), (1,7), (3,10), (4,3)]
exclude = [1, 3]
我希望创建列表
[2, 4, 7, 10]
这很容易在笨拙的for循环中完成,但似乎使用某些函数或列表理解更加pythonic方式。有什么想法吗?
答案 0 :(得分:1)
实际上没有理解这个问题。假设这可能是你想要的
>>>list(set([j for i in tuples for j in i if not j in exclude]))
[2, 4, 10, 7]
答案 1 :(得分:0)
您在示例中忘记了4,代码将返回:
>>>[num for tup in tuples for num in tup if num not in exclude]
[2, 4, 7, 10, 4]
答案 2 :(得分:0)
假设您的要求是将元组列表转换为列表,然后在列表中获取唯一元素,排除列表排除然后排序。
from itertools import chain
tuples_final = sorted(list(set(chain(*tuples))-set(exclude)))