Articles

는 방법을 연결하는 두 개의 목록에서 파이썬

소개

목록 연결하는 행위를 만들기 단일 목록에서 여러 개의 작은 나열하여 데이지 체인 연결합니다.

파이썬에서 목록을 연결하는 많은 방법이 있습니다. 특히,이 문서에서,우리가 어떻게 연결하는 두 개의 목록에서 파이썬를 사용하여 플러스 운영자에 압축을 풀고,연산자,곱셈 연산자 설명서에 대한 반복 연결itertools.chain()extend().

에 모든 코드를 조각 아래,우리가 사용하의 다음 목록은 다음과 같습니다:

list_a = list_b = 

러자 목록 연결

가장 간단하고 간단한 방법을 연결하는 두 개의 목록에서 파이썬은 플러스(+)운영자:

list_c = list_a + list_bprint (list_c)

압축을 풀고자 목록 연결

이 방법을 연결시킬 수 있습 여러 목록이 있습니다. 그것은 상당히 새로운 기능이며 파이썬 3.6+에서만 사용할 수 있습니다. 포장 풀기 연산자는,이름에서 알 수 있듯이,압축을 풉니는iterable체의 요소입니다. 풀기는 단일 목록에서 과다한 인수를 생성하고자 할 때 유용합니다. 예를 들어,

def foo(a, b, c, d): return a + b + c + d# We want to use the arguments of the following list with the foo function.# However, foo doesn't take a list, it takes 4 numbers, which is why we need to# unpack the list.foo(*list_a)# This is the same as if we were to call foo(1,2,3,4)
10

간단히 말해서,우리가 사용하여 목록을 생성자()그리고 생성하는 요소의 새로운 순서대로 목록을 개봉하여 여러 목록을 한 후에 다른:

list_c = # This is the same as:# list_c = print (list_c)

곱 운전자 목록 연결

multiply(*)연산자는 특별한 경우의 목록을 연결 in Python. 그것은 사용되는 반복하는 전체 목록 여러 번(는 이유는 그것은 로 표시된 곱셈 연산자가):

print(list_a * 2)

루 목록 연결

에서 이 방법을 우리는 것이 하나를 통해 이동하면서 목록을 추가하여 각각의 요소가 다른 목록 한다. 루프가해야 할 것이 하나의 목록과 함께 모든 원하는 요소:

for i in list_b: list_a.append(i)print (list_a)

itertools.chain()List Concatenation

이 방법은iterables와 함께 작동합니다. 그것은 구성하고 반복기를 반환합니다 나중에 사용할 수 있는 구성된 연결 목록(으로 생각하는 화살표하는 그냥 기억하기 위해 요소에서 결과 목록):

# If we were to call itertools.chain() like soiterator = itertools.chain(, )# Basically the iterator is an arrow which can give us the next() element in a sequence, so if we call a list() constructor with said iterable, it works like this:list(iterator)

후드,무언가를 따라 이러한 라인입니다 무엇이 일어나:

# Iterator: The next element in this list is 1 , ^# Iterator: The next element in this list is 2, ^# Iterator: The next element in this list is 3 , ^# Iterator: The next element in this list is 4 , ^# So the list() call looks something like:list()# Keep in mind this is all pseudocode, Python doesn't give the developer direct control over the iterator

이 방법을 위해,당신을 가져올 필요가 없itertools

import itertoolslist_c = list(itertools.chain(list_a, list_b))print (list_c)

장()목록에 연결

이 aa 건설-그것은 기능을 확장하는 데 사용할 수 있습니다. 여기서 두 번째 목록의 요소를 추가하여 첫 번째 목록을 확장하고 있습니다.

list_a.extend(list_b)print (list_a)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다