나는이목록의 길이를 우선 순위로하면서 첫 번째 요소를 기반으로 중첩 목록에서 중복을 제거하는 방법은 무엇입니까?
[[7, 6, 8], [1, 10], [3, 10], [7, 8], [7, 4], [9, 4], [5, 8], [9, 8]]
같은 목록을 가지고 그리고 출력이 같은 것을보고 싶지 : 알고리즘이 내부 목록의 예 '7','1', '3'
의 첫 번째 요소에 따라 중복을 제거해야합니다
[[7, 6, 8],[1, 10],[3, 10],[9, 4],[5, 8]]
내부 목록의 우선 순위를 정할 때, 즉 더 짧은 것을 먼저 제거해야합니다.
나는이를 사용하여 질문의 첫 번째 부분을 수행하는 방법에 대한 here 및 here 비슷한 것을 발견dict((x[0], x) for x in any_list).values()
을하지만 난 길이의 우선 순위를하는 방법을 모르겠어요.
중복 길이가 같고 내부 목록의 순서가 중요하지 않은 경우 어떤 내부 목록을 제거해야하는지 실제로 신경 쓰지 않습니까? 그렇다면 먼저 내부 목록의 길이로 외부 목록을 정렬하십시오 (https://stackoverflow.com/questions/4735704/ordering-a-list-of-lists-by-lists-len). 그런 다음 언급 한대로 중복을 제거하십시오. – StefanS