Оставить первые встретившиеся в массиве

Есть многомерный список (массив)

[['Вася','16','м','10А'],
['Женя','17','м','11Б'],
['Женя','17','ж','9Б'],
['Вася','16','м','10В'],
['Лена','17','ж','11А']]

Как оставить первые встретившиеся в массиве, по имени и возрасту?

[['Вася','16','м','10А'],
['Женя','17','м','11Б'],
['Лена','17','ж','11А']]

Ответы (1 шт):

Автор решения: Xander
data = [
    ['Вася', '16', 'м', '10А'],
    ['Женя', '17', 'м', '11Б'],
    ['Женя', '17', 'ж', '9Б'],
    ['Вася', '16', 'м', '10В'],
    ['Лена', '17', 'ж', '11А']
]

result = []
proceeded = set()

for item in data:
    key = tuple(item[:2])
    if key not in proceeded:
        result.append(item)
        proceeded.add(key)

print(result)
→ Ссылка