Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

공통 요소를 기반으로 목록을 집합으로 변환하는 Python 프로그램

<시간/>

특정 공통 요소를 기반으로 목록을 집합으로 변환해야 하는 경우 '열거'를 사용하여 집합을 반복하고 요소에 특정 조건을 두는 메서드를 정의할 수 있습니다. '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' 방식을 사용하여 집합으로 변환한 후 다시 목록으로 변환합니다.

  • 이것은 변수에 할당됩니다.

  • 이제 이 변수를 전달하여 메서드를 호출합니다.

  • 출력은 콘솔에 표시됩니다.