>백엔드 개발 >파이썬 튜토리얼 >Python에서 두 목록을 병합하는 방법

Python에서 두 목록을 병합하는 방법

青灯夜游
青灯夜游원래의
2023-01-05 17:20:3015601검색

병합 방법: 1. "+" 연산자를 사용하여 병합합니다. 구문은 "list1+list2"입니다. 2. 확장()을 사용하여 병합합니다. 구문은 "list_1.extend(list2)"입니다. 병합하려면 구문은 "[* list_1,*list2]"입니다. 4. 체인 함수를 통해 병합하고 구문은 "list(chain(list1,list2))"입니다. 5. Reduce를 통해 병합하면 구문은 "reduce(add,(list1)입니다. ,목록2))".

Python에서 두 목록을 병합하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, python3 버전, DELL G3 컴퓨터

Python에서 목록을 병합하는 5가지 방법

1. Python에서 목록을 직접 추가하세요.

Python에서 목록을 병합하세요. 가장 쉬운 방법은 다음 예와 같이 + 연산자를 직접 사용하는 것입니다.

leaders_1 = ['Elon Mask', 'Tim Cook']
leaders_2 = ['Yang Zhou', 'Bill Gates']
leaders_3 = ['Jeff Bezos', 'Warren Buffet']
full_leaders_list = leaders_1 + leaders_2 + leaders_3
print(full_leaders_list)
# ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']

또한 += 연산자는 목록도 지원합니다. 그러나 여기서 상황이 흥미로워집니다. 다음 예를 참조하세요.

A = B = [1, 2, 3]
A += [4]
print(A, B)
# [1, 2, 3, 4] [1, 2, 3, 4]


A = A + [5]
print(A, B)
# [1, 2, 3, 4, 5] [1, 2, 3, 4]

위 코드는 특히 Python 초보자에게 혼란스러울 수 있습니다.

처음에는 A가 B와 같지만 두 번째에서는 그렇지 않은 이유는 무엇인가요?

여기에 수업 과제를 남겨주세요. 수업 후에 이유를 찾을 수 있기를 바랍니다~

2. 목록 확장

+= 연산자 외에 목록 병합을 사용하는 간단한 방법은 확장( )을 사용하는 것입니다. 방법.

leaders_1 = ['Elon Mask', 'Tim Cook']
leaders_2 = ['Yang Zhou', 'Bill Gates']
leaders_1.extend(leaders_2)
print(leaders_1)
# ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates']

그런데, Python에서 목록을 처리할 때 add()라는 또 다른 메서드도 인기가 있습니다.

이전 예제의 방법을 변경하면 어떤 일이 일어나는지 살펴보겠습니다.

leaders_1 = ['Elon Mask', 'Tim Cook']
leaders_2 = ['Yang Zhou', 'Bill Gates']
leaders_1.append(leaders_2)
print(leaders_1)
# ['Elon Mask', 'Tim Cook', ['Yang Zhou', 'Bill Gates']]

위에서 볼 수 있듯이 add()는 목록에 새 항목을 추가하고,extend()는 다른 목록과 목록을 결합합니다.

3. 별표로 목록 병합

Python에서 가장 아름다운 요령 중 하나는 별표를 사용하는 것입니다. 별표의 도움으로 목록을 풀고 함께 모을 수 있습니다. 이것은 Python에서 병합된 목록을 구현하는 어지러운(아마도 약간 잘난 척하는) 방법입니다.

leaders_1 = ['Elon Mask', 'Tim Cook']
leaders_2 = ['Yang Zhou', 'Bill Gates']
leaders_3 = ['Jeff Bezos', 'Warren Buffet']
full_list = [*leaders_1, *leaders_2, *leaders_3]


print(full_list)
# ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']

4. 체인 함수를 통해 목록 병합

Itertools 모듈의 체인 함수는 Python에서 반복 가능한 개체를 병합하는 특별한 방법입니다. 일련의 반복을 그룹화하고 결합된 반복을 반환합니다. 목록도 반복적이므로 체인 기능을 사용하여 목록을 병합할 수도 있습니다.

from itertools import chain
leaders_1 = ['Elon Mask', 'Tim Cook']
leaders_2 = ['Yang Zhou', 'Bill Gates']
leaders_3 = ['Jeff Bezos', 'Warren Buffet']
full_list = list(chain(leaders_1,leaders_2,leaders_3))


print(full_list)
# ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']

5. Reduce 함수를 통해 목록을 병합합니다

Python은 게으른 사람들에게 도움이 됩니다. 나에게는 병합할 목록이 너무 많을 때 +를 너무 많이 쓰는 것이 지루하고 그렇게 하고 싶지 않습니다. 이 경우, 우리는 고차 함수인 축소를 사용할 수 있으며, 이를 통해 다시 한 번 절약할 수 있습니다:

from operator import add
from functools import reduce


A = [99, 2]
B = [0, 5, 1]
C = [2077, 2021]
D = [0]
L = reduce(add, (A, B, C, D))


print(L)
# [99, 2, 0, 5, 1, 2077, 2021, 0]

Summary

Python에서 목록을 병합하는 방법은 최소한 5가지가 있습니다. 우리는 매번 다르게 선택할 필요는 없습니다. 그러나 다른 사람의 프로그램을 읽으면 필연적으로 다른 코딩 스타일을 접하게 됩니다. 따라서 동일한 작업에 대해 서로 다른 방법을 확인하는 것이 좋습니다. 적어도 Python의 유연성과 우아함은 느낄 수 있습니다

[관련 추천: Python3 비디오 튜토리얼]

위 내용은 Python에서 두 목록을 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.