Если у меня есть:
l = [['98765', ['Einstein, A', 'SFEN'], 'SSW 540', 3], ['98765', ['Einstein, A', 'SFEN'], 'SSW 540', 3],
['98764', ['Feynman, R', 'SFEN'], 'SSW 564', 3], ['98764', ['Feynman, R', 'SFEN'], 'SSW 564', 3]]
Как лучше всего получить:
k = [['98765', 'Einstein, A', 'SFEN', 'SSW 540', 3], ['98764', 'Feynman, R', 'SFEN', 'SSW 564', 3]]
Если я попытаюсь:
uniqinstruct = set(map(tuple, l))
Я получаю TypeError: unhashable type: 'list'
. Я не хочу удалять все слои вложенности, потому что это просто объединит все в один список:
output = []
def reemovNestings(l):
for i in l:
if type(i) == list:
reemovNestings(i)
else:
output.append(i)
reemovNestings(l)
print(sorted(set(output), key=output.index))
Выход:
['98765', 'Einstein, A', 'SFEN', 'SSW 540', 3, '98764', 'Feynman, R', 'SSW 564']
Если у двух инструкторов одинаковое количество (в данном случае 3), то остается только одна 3, потому что это set
, и я не могу сгруппировать элементы списка через каждые x
интервалов. Что было бы хорошим способом сохранить это последнее значение?
"98765"
или"98764"
? - person jizhihaoSAMA   schedule 20.11.2020flatten
изdjango
, а затем сбор по каждым 5 элементам тоже может работать - person Jim T   schedule 20.11.2020