logo

Python에서 목록 반복

그만큼 목록 다른 언어의 배열과 동일하며 크기가 동적이라는 추가 이점이 있습니다.

~ 안에 파이썬 , 목록은 동시에 여러 데이터를 저장하는 데 사용되는 데이터 구조의 컨테이너 유형입니다. 같지 않은 세트 , Python의 목록은 순서가 지정되어 있으며 명확한 개수를 갖습니다. 이 기사에서는 Python에서 목록을 반복하는 방법과 문자열 목록을 통해 Python 루프를 반복하는 방법을 살펴보겠습니다.

Python 목록 반복

Python에서 목록을 반복하는 다양한 방법과 이들 간의 성능 비교를 살펴보겠습니다.

For 루프를 사용하여 목록 반복

간단한 방법을 사용하여 Python에서 목록을 반복할 수 있습니다. For 루프 .

파이썬3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using for loop> for> i>in> list>:> >print>(i)>

>

>

산출

1 3 5 7 9>

시간 복잡도: O(n) – 여기서 n은 목록의 요소 수입니다.
보조 공간: O(1) – 추가 공간을 사용하지 않기 때문입니다.

f를 사용하여 목록을 반복합니다. 또는 루프 및 범위()

숫자 x에서 숫자 y까지 반복하는 전통적인 for 루프를 사용하려는 경우입니다.

파이썬3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # getting length of list> length>=> len>(>list>)> > # Iterating the index> # same as 'for i in range(len(list))'> for> i>in> range>(length):> >print>(>list>[i])>

>

>

산출

1 3 5 7 9>

시간 복잡도: O(n), 여기서 n은 입력 목록의 길이입니다.
보조 공간: O(1), 이는 상수 공간입니다.

다음을 사용하여 Python에서 목록을 반복합니다. 잠시 루프

또한 다음을 사용하여 Python 목록을 반복할 수도 있습니다. while 루프 .

파이썬3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Getting length of list> i>=> 0> > # Iterating using while loop> while> i <>len>(>list>):> >print>(>list>[i])> >i>+>=> 1>

>

>

산출

1 3 5 7 9>

시간 복잡도: O(n) 여기서 n은 목록의 길이입니다.
보조 공간: O(1)은 변수 i와 길이에 일정한 양의 추가 공간만 사용되기 때문입니다.

다음을 사용하여 목록을 반복합니다. 목록 이해

우리는 사용할 수 있습니다 목록 이해 (아마도 가장 구체적인 방법) Python에서 목록을 반복하는 방법입니다.

파이썬3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using list comprehension> [>print>(i)>for> i>in> list>]>

>

>

산출

1 3 5 7 9>

enumerate()를 사용하여 Python에서 목록을 반복합니다.

목록을 반복 가능한 튜플 목록으로 변환하려는 경우(또는 선형 검색에서 조건 확인을 기반으로 인덱스를 가져오려면 최소 요소의 인덱스를 저장해야 할 수 있음) 다음을 사용할 수 있습니다. 열거() 함수 .

파이썬3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> > # Using enumerate()> for> i, val>in> enumerate>(>list>):> >print> (i,>','>,val)>

>

문자열 ti int

>

산출

0 , 1 1 , 3 2 , 5 3 , 7 4 , 9>

메모: 방법 2도 인덱스를 찾는 데 사용할 수 있지만 방법 1은 할 수 없으며(추가 변수가 매 반복마다 증가하지 않는 한) 방법 5는 이 인덱싱을 간결하게 표현합니다.

iter 함수와 next 함수를 사용하여 Python에서 목록을 반복합니다.

다음은 iter 함수와 next 함수를 사용하는 추가 접근 방식입니다.

파이썬3




# Python3 code to iterate over a list> list> => [>1>,>3>,>5>,>7>,>9>]> # Create an iterator object using the iter function> iterator>=> iter>(>list>)> # Use the next function to retrieve the elements of the iterator> try>:> >while> True>:> >element>=> next>(iterator)> >print>(element)> except> StopIteration:> >pass>

>

>

산출

1 3 5 7 9>

시간 복잡도: 에)
보조 공간: 오(1)

map() 함수를 사용하여 Python에서 목록을 반복합니다.

사용 지도() 리스트의 각 요소에 함수를 적용하는 함수입니다.

파이썬3




# Define a function to print each element> def> print_element(element):> >print>(element)> # Create a list> my_list>=> [>1>,>3>,>5>,>7>,>9>]> # Use map() to apply the print_element() function to each element of the list> result>=> map>(print_element, my_list)> # Since map() returns an iterator, we need to consume> # the iterator in order to see the output> for> _>in> result:> >pass>

>

>

산출

1 3 5 7 9>

시간 복잡도: O(n), 여기서 n은 목록의 길이입니다.
보조 공간: 오(1)

Python은 zip() 함수를 사용하여 여러 목록을 반복합니다.

이 예에서는 zip() 함수를 사용하여 두 목록 list1 및 list2의 요소를 동시에 반복하고 후속 인쇄를 위해 해당 요소를 튜플로 함께 쌍을 이룹니다.

파이썬3




list1>=> [>1>,>2>,>3>]> list2>=> [>'p'>,>'q'>,>'r'>]> # Using zip() to iterate over multiple lists simultaneously> for> i1, i2>in> zip>(list1, list2):> >print>(f>'{i1} ->{i2}'>)>

>

>

산출

1 ->p 2 -> q 3 -> r>

NumPy를 사용하여 Python에서 목록 반복

매우 큰 n차원 목록(예: 이미지 배열)의 경우 다음과 같은 외부 라이브러리를 사용하는 것이 더 나을 때도 있습니다. 멍청하다 . np를 사용할 수 있습니다. enumerate()는 열거 동작을 모방합니다. NumPy의 추가 기능은 요소를 방문하는 방법(예: C 순서가 아닌 Fortran 순서)을 제어할 수도 있다는 사실에서 비롯됩니다. 그러나 한 가지 주의할 점은 np.nditer가 배열을 읽기 전용으로 처리한다는 것입니다. 기본값이므로 요소를 수정할 수 있으려면 op_flags=['readwrite']와 같은 추가 플래그를 전달해야 합니다.

파이썬3




import> numpy as geek> # creating an array using> # arrange method> a>=> geek.arange(>9>)> # shape array with 3 rows> # and 4 columns> a>=> a.reshape(>3>,>3>)> # iterating an array> for> x>in> geek.nditer(a):> >print>(x)>

>

>

산출:

0 1 2 3 4 5 6 7 8>

시간 복잡도: 에)
보조 공간: 오(1)