Сравнение списков в списке по индексам на уникальность Python

Не могу понять как написать данный код:

Суть затеи в том что нужно сравнить списки в списках по индексам от [0:3] и получить результат менуя повторения.

Есть большой сгенерированый список в result, мне нужно чтобы в нем не повторялись первые 3 элемента......

from  more_itertools import unique_everseen
from itertools import product

m = [
    [2,3,5,6,7],
    [10,11,12,13,15],
    [20,21,22,23,25],
    [36,35,33,32,30],
    [30,32,33,35,36],
    [42,43,45,48,46],

]

result = []
for subset in product(*m):
     x = list(unique_everseen(subset))
     if len(x) == 6:
         result.append(x)
len_m = len(m) * len(m) * len(m) + 1

res = []
for i in range(len(result)):
    tmp = [True for j in range(i + 1, len(result)) if set(result[:3]) != set(result[:3])]
    if len(tmp) == 0:
        res.append(result[i])

print(res)

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

Автор решения: Zhihar

ну если совсем в лоб, то получается вот так:

arr = [[1,2,3,4],[1,2,3,4,5],[1,3,2,4,5],[1,2,3,6,7],[8,9,3,4,5],[2,3,4,5],[2,3,4,5,6]]

res = []

for i in range(len(arr)):
    tmp = [True for j in range(i + 1, len(arr)) if arr[j][3] == arr[i][3]]
    if len(tmp) == 0:
        res.append(arr[i])

print(res)

P.S.

скорее всего последний список все таки не должен учитываться, ведь по той логике он всегда будет попадать в результирующий список, тогда надо сделать

for i in range(len(arr) - 1):
→ Ссылка
Автор решения: Робин Гут
import random
import itertools

m = (
    [2, 3, 5, 6, 7],
    [10, 11, 12, 13, 15],
    [20, 21, 22, 23, 25],
    [36, 35, 33, 32, 30],
    [30, 32, 33, 35, 36],
    [42, 43, 45, 48, 46]
)

combinations = list(itertools.product(*m[:3]))
part1 = [list(comb) for comb in combinations]
result = []
for i in range(len(part1)):
    result.append(part1[i])
    for j in range(3, len(m)):
        result[i].append(random.choice(m[j]))

for comb in result:
    print(comb)
print(len(result))
→ Ссылка