특정 공통 요소를 기반으로 목록을 집합으로 변환해야 하는 경우 '열거'를 사용하여 집합을 반복하고 요소에 특정 조건을 두는 메서드를 정의할 수 있습니다. 'union' 방식과 'map' 방식을 사용합니다.
예
아래는 동일한 데모입니다.
def common_elem_set(my_set): for index, val in enumerate(my_set): for j, k in enumerate(my_set[index + 1:], index + 1): if val & k: my_set[index] = val.union(my_set.pop(j)) return common_elem_set(my_set) return my_set my_list = [[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]] print("The list is :") print(my_list) my_set = list(map(set, my_list)) my_result = common_elem_set(my_set) print("The result is :") print(my_result)
출력
The list is : [[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]] The result is : [{11, 12, 13, 14, 18, 19}, {9, 2, 6, 1}, {32, 17, 21, 54}]
설명
-
목록을 매개변수로 사용하는 'common_elem_set'이라는 메서드가 정의되어 있습니다.
-
목록은 열거를 사용하여 반복됩니다.
-
'&'를 이용하여 조건을 설정하고, 충족되면 출력을 반환합니다.
-
메소드 외부에 목록의 목록이 정의됩니다.
-
콘솔에 표시됩니다.
-
'map' 방식을 사용하여 집합으로 변환한 후 다시 목록으로 변환합니다.
-
이것은 변수에 할당됩니다.
-
이제 이 변수를 전달하여 메서드를 호출합니다.
-
출력은 콘솔에 표시됩니다.