我有以下列表。
[('L', 'l'), ('L', 'R'), ('R', 'l'), ('R', 'R')]
我想找到这个列表的一个子集,它满足像&#34这样的属性;每个元组都有" R"作为第二个条目"。我是编程新手(几天前开始学习python语法)所以请尽可能清楚,谢谢。
编辑:这应该概括,因为上面的列表可能有更多的元组,每个元组可以有更多的元素。答案 0 :(得分:2)
像这样使用list comprehension
:
my_list = [('L', 'l'), ('L', 'R'), ('R', 'l'), ('R', 'R')]
res = [item for item in my_list if item[1] == 'R']
<强>输出:强>
>>> res
[('L', 'R'), ('R', 'R')]
请注意,您可以使用filter()
获得相同的结果,但是您应该使用上述解决方案(LC更加pythonic):
res = filter(lambda item: item[1] == 'R', my_list) # list(filter(...)) in Python 3