如何在python中过滤嵌套列表

如何在python中过滤嵌套列表,python,Python,我有以下清单: my_list = [ [0, 0, [21, 24]], [0, 1, [2, 13]], [0, 3, [1, 15]], [0, 4, [1, 6]], [0, 6, [11]], [0, 7, [1]], [1, 0, [3, 4, 10, 17]], [1, 1, [1, 15, 19, 24]], [1, 2, [1]], [1, 3, [5, 6, 18]], [1, 4, [15, 24, 25]], [1, 5, [10, 22]],

我有以下清单:

my_list = [
 [0, 0, [21, 24]],
 [0, 1, [2, 13]],
 [0, 3, [1, 15]],
 [0, 4, [1, 6]],
 [0, 6, [11]],
 [0, 7, [1]],
 [1, 0, [3, 4, 10, 17]],
 [1, 1, [1, 15, 19, 24]],
 [1, 2, [1]],
 [1, 3, [5, 6, 18]],
 [1, 4, [15, 24, 25]],
 [1, 5, [10, 22]],
 [1, 6, [16, 30, 31]],
 [2, 0, [7, 20]],
 [2, 1, [5]],
 [2, 3, [11, 14]],
 [2, 4, [5, 10]],
 [2, 5, [15]],
 [2, 6, [6, 10]],
 [2, 7, [12]],
 [3, 0, [11, 18]],
 [3, 2, [2, 22]],
 [3, 5, [8]],
 [3, 6, [15]],
 [3, 7, [5]]
]
我要检索以下数据:

[x,y[z]][x+1,y+1[z][x+2,y+2[z]][x+3,y+3[z]]

应获得:

[0, 3, [1, 15]],     
[1, 4, [15, 24, 25]],
[2, 5, [15]],      
[3, 6, [15]],       
其中x是字中字符的索引,y是行号,z是列号。 如您所见,z可以是多个选项

final = [(i,j,) for i,j in my_list if i[0]==j[0] and i[1]==j[1]+1 and i[2]==j[2]]

获取
值错误:值太多,无法解压缩

我的列表
的每个元素都有三个元素,您正试图将它们解压缩为2。太多了

>>> i, j = [0, 0]
>>> i, j = [0, 0, 1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> i, j = [0, 0, [21, 24]]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> i, j, k = [0, 0, [21, 24]]
>>> i
0
>>> j
0
>>> k
[21, 24]
>i,j=[0,0]
>>>i,j=[0,0,1]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:要解压缩的值太多
>>>i,j=[0,0,21,24]]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:要解压缩的值太多
>>>i,j,k=[0,0,21,24]]
>>>我
0
>>>j
0
>>>k
[21, 24]

我的列表的每个元素都有三个元素,您正试图将它们分解为两个元素。太多了

>>> i, j = [0, 0]
>>> i, j = [0, 0, 1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> i, j = [0, 0, [21, 24]]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> i, j, k = [0, 0, [21, 24]]
>>> i
0
>>> j
0
>>> k
[21, 24]
>i,j=[0,0]
>>>i,j=[0,0,1]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:要解压缩的值太多
>>>i,j=[0,0,21,24]]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:要解压缩的值太多
>>>i,j,k=[0,0,21,24]]
>>>我
0
>>>j
0
>>>k
[21, 24]

您的预期输出是什么?您的代码还存在其他问题(获取
int
对象现在无法订阅)。什么是
字符
-您的所有值都是整数?您希望获取/接收什么元素?编辑问题最终结果应该是:[0,3,15],[1,4,15],[2,5,15],[3,6,15],您的预期输出是什么?您的代码还存在其他问题(获取
int
对象现在无法订阅)。什么是
字符
-您的所有值都是整数?您希望获取/接收什么元素?编辑问题最终结果应为:[0,3,15],[1,4,15],[2,5,15],[3,6,15],