웹사이트 검색

Python에서 목록을 연결하는 6가지 방법


이 자습서에서는 Python에서 목록을 연결하는 다양한 방법을 공개합니다. Python 목록은 동종 요소를 저장하고 조작을 수행하는 목적을 수행합니다.

일반적으로 연결은 특정 데이터 구조의 요소를 종단 간 방식으로 결합하는 프로세스입니다.

다음은 Python에서 목록을 연결하는 6가지 방법입니다.

  • 연결(+) 연산자
  • 순진한 방법
  • 목록 이해력
  • extend() 메서드
  • '*' 연산자
  • itertools.chain() 메서드

1. 목록 연결을 위한 연결 연산자(+)

+ 연산자는 두 목록을 연결하는 데 사용할 수 있습니다. 다른 목록의 끝에 하나의 목록을 추가하고 새 목록을 출력으로 생성합니다.

예:

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 


res = list1 + list2 


print ("Concatenated list:\n" + str(res)) 

산출:

Concatenated list:
[10, 11, 12, 13, 14, 20, 30, 42]

2. 목록 연결을 위한 순진한 방법

Naive 메서드에서는 for 루프를 사용하여 두 번째 목록을 트래버스합니다. 그런 다음 두 번째 목록의 요소가 첫 번째 목록에 추가됩니다. 첫 번째 목록은 첫 번째 목록과 두 번째 목록을 연결한 결과입니다.

예:

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

print("List1 before Concatenation:\n" + str(list1))
for x in list2 : 
    list1.append(x) 


print ("Concatenated list i.e. list1 after concatenation:\n" + str(list1)) 

산출:

List1 before Concatenation:
[10, 11, 12, 13, 14]
Concatenated list i.e. list1 after concatenation:
[10, 11, 12, 13, 14, 20, 30, 42]

3. 목록을 연결하는 List Comprehension

Python List Comprehension은 Python에서 두 개의 목록을 연결하는 대체 방법입니다. List Comprehension은 기본적으로 기존 목록을 기반으로 요소 목록을 작성/생성하는 프로세스입니다.

for 루프를 사용하여 요소별로 목록을 처리하고 트래버스합니다. 아래의 인라인 for-loop는 중첩된 for 루프와 동일합니다.

예:

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

res = [j for i in [list1, list2] for j in i] 

print ("Concatenated list:\n"+ str(res)) 

산출:

Concatenated list:
 [10, 11, 12, 13, 14, 20, 30, 42]

4. 목록 연결을 위한 Python extend() 메서드

Python의 extend() 메서드는 Python에서 두 개의 목록을 연결하는 데 사용할 수 있습니다. extend() 함수는 전달된 매개변수를 반복하고 목록에 항목을 추가하여 선형 방식으로 목록을 확장합니다.

통사론:

list.extend(iterable)

예:

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 
print("list1 before concatenation:\n" + str(list1))
list1.extend(list2) 
print ("Concatenated list i.e ,ist1 after concatenation:\n"+ str(list1)) 

list2의 모든 요소가 list1에 추가되므로 list1이 업데이트되고 결과가 출력됩니다.

산출:

list1 before concatenation:
[10, 11, 12, 13, 14]
Concatenated list i.e ,ist1 after concatenation:
[10, 11, 12, 13, 14, 20, 30, 42]

5. 목록 연결을 위한 Python '*' 연산자

Python의 * operator는 Python에서 두 개의 목록을 쉽게 연결하는 데 사용할 수 있습니다.

Python의 '*' 연산자는 기본적으로 인덱스 인수에서 항목 컬렉션의 압축을 풉니다.

예: my_list = [1, 2, 3, 4] 목록을 고려하십시오.

*my_list 문은 인덱스 위치에 있는 요소로 목록을 대체합니다. 따라서 목록의 항목을 압축 해제합니다.

예:

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

res = [*list1, *list2] 
  
print ("Concatenated list:\n " + str(res)) 

위의 코드 스니펫에서 res = [*list1, *list2] 문은 list1 및 list2를 지정된 순서의 항목, 즉 list2의 요소 다음에 list1의 요소로 바꿉니다. 이렇게 하면 연결이 수행되고 결과는 아래와 같습니다.

산출:

Concatenated list:
 [10, 11, 12, 13, 14, 20, 30, 42]

6. 목록을 연결하는 Python itertools.chain() 메서드

Python itertools 모듈의 itertools.chain() 함수를 사용하여 Python에서 목록을 연결할 수도 있습니다.

itertools.chain() 함수는 목록, 문자열, 튜플 등과 같은 다양한 이터러블을 매개변수로 받아들이고 이들의 시퀀스를 출력으로 제공합니다.

결과적으로 선형 시퀀스가 됩니다. 요소의 데이터 유형은 chain() 메서드의 기능에 영향을 주지 않습니다.

예: itertools.chain([1, 2], ['John', 'Bunny']) 문은 다음 출력을 생성합니다. 1 2 John Bunny

예:

import itertools
list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

res = list(itertools.chain(list1, list2)) 
   
  
print ("Concatenated list:\n " + str(res)) 

산출:

Concatenated list:
 [10, 11, 12, 13, 14, 20, 30, 42]

결론

따라서 이 기사에서는 Python에서 목록을 연결하는 다양한 방법을 이해하고 구현했습니다.