我有一份清单如下。
temp=[[1,2,3],[0,2,3],[4,5,6],[1,4,5],[0,4,5]]
我想显示所有具有第二个和第三个元素的列表。在上面的示例中,结果应为[[1,2,3],[0,2,3],[1,4,5],[0,4,5]]
谢谢
答案 0 :(得分:0)
这个怎么样:
>>> ends = [i[1:] for i in temp]
>>> print ends
[[2, 3], [2, 3], [5, 6], [4, 5], [4, 5]]
>>> result = [i for i in temp if ends.count(i[1:]) > 1]
>>> print result
[[1, 2, 3], [0, 2, 3], [1, 4, 5], [0, 4, 5]]
对于这个解决方案,我使用了列表推导,你可以在这里阅读它们: http://www.secnetix.de/olli/Python/list_comprehensions.hawk
http://www.pythonforbeginners.com/basics/list-comprehensions-in-python
答案 1 :(得分:0)
res = []
for idx, i in enumerate(temp):
for jdx, j in enumerate(temp):
if i[1]==j[1] and i[2]==j[2] and jdx != idx:
res.append(i)