Простой способ создать коллекцию всех элементов, которые имеют определенное свойство, состоит в том, чтобы поместить их в словарь, на котором указано это свойство.
from collections import defaultdict
from typing import List, Dict, Tuple, Union
Entry = Union[int, str]
csv: List[List[Entry]] = [
[1,'x',2],
[3,'x',4],
[5,'y',6],
[7,'y',8]
]
index: Dict[Tuple[int, Entry], List[List[Entry]]] = defaultdict(list)
for row in csv:
for i in range(len(row)):
# Key on a tuple of i and the entry, e.g. (1, 'x')
index[(i, row[i])].append(row)
for key in index:
if len(index[key]) > 1:
print("index %d contains entry %s in multiple lists:" % key)
print(index[key])
дает следующий вывод:
index 1 contains entry x in multiple lists:
[[1, 'x', 2], [3, 'x', 4]]
index 1 contains entry y in multiple lists:
[[5, 'y', 6], [7, 'y', 8]]