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

주어진 조건으로 목록의 모든 조합을 찾는 Python 프로그램

<시간/>

특정 조건의 목록에서 모든 조합을 찾아야 하는 경우 단순 반복, 'isinstance' 방법, 'append' 방법 및 인덱싱이 사용됩니다.

예시

아래는 동일한 데모입니다 -

print("Method definition begins")
def merge_the_vals(my_list_1, my_list_2, K):
   index_1 = 0
   index_2 = 0
   while(index_1 < len(my_list_1)):

      for i in range(K):
         yield my_list_1[index_1]
         index_1 += 1
      for i in range(K):
         yield my_list_2[index_2]
         index_2 += 1
print("Method definition ends")

my_list_1 = [12, 56, 14, 28, 61, 73, 59, 90]
my_list_2 = [52, 16, 17, 34, 43, 16, 84, 57]
print("The first list is : " )
print(my_list_1)

print("The second list is : " )
print(my_list_2)

K = 1
print("The value of K is ")
print(K)
my_result = [element for element in merge_the_vals(my_list_1, my_list_2, K)]

print("The resultant list is : ")
print(my_result)

print("The list after sorting is : " )
my_result.sort()
print(my_result)

출력

Method definition begins
Method definition ends
The first list is :
[12, 56, 14, 28, 61, 73, 59, 90]
The second list is :
[52, 16, 17, 34, 43, 16, 84, 57]
The value of K is
2
The resultant list is :
[12, 56, 52, 16, 14, 28, 17, 34, 61, 73, 43, 16, 59, 90, 84, 57]
The list after sorting is :
[12, 14, 16, 16, 17, 28, 34, 43, 52, 56, 57, 59, 61, 73, 84, 90]

설명

  • 두 개의 목록과 K 값을 매개변수로 사용하는 메소드가 정의됩니다.

  • index의 값과 list의 길이에 따라 'yield' 연산자를 사용하여 결과를 줍니다.

  • 메소드 외부에서 두 개의 정수 목록이 정의되어 콘솔에 표시됩니다.

  • K 값이 정의되고 콘솔에 표시됩니다.

  • 목록 이해가 사용되며 메서드는 필수 매개변수를 전달하여 호출됩니다.

  • 결과에 할당됩니다.

  • 이것은 콘솔에 출력으로 표시됩니다.

  • 결과는 정렬 방법을 사용하여 정렬되고 콘솔에 표시됩니다.