Python zip() 메서드 반복 가능한 컨테이너를 가져와 모든 컨테이너의 값이 매핑된 단일 반복자 개체를 반환합니다.
Python zip() 구문
그것은 익숙하다 단일 엔터티를 사용하여 사용할 수 있도록 여러 컨테이너의 유사한 인덱스를 매핑합니다.
구문: zip(*반복자)
매개변수: Python 반복 가능 항목 또는 컨테이너(목록, 문자열 등)
반환 값: 단일 반복자 객체를 반환합니다.
Python 예제의 zip()
목록이 있는 Python zip()
~ 안에 파이썬 , zip() 함수는 두 개 이상을 결합하는 데 사용됩니다. 기울기 (또는 다른 반복 가능 항목)을 단일 반복 가능 항목으로 변환합니다. 여기서 해당 위치의 요소는 함께 쌍을 이룹니다. 결과 반복 가능 항목에는 다음이 포함됩니다. 튜플 , 여기서 각 목록의 첫 번째 요소는 서로 쌍을 이루고, 각 목록의 두 번째 요소는 서로 쌍을 이루는 식입니다.
파이썬3
name>=> [>'Manjeet'>,>'Nikhil'>,>'Shambhavi'>,>'Astha'> ]> roll_no>=> [>4>,>1>,>3>,>2> ]> # using zip() to map values> mapped>=> zip>(name, roll_no)> print>(>set>(mapped))> |
>
>산출
{('Nikhil', 1), ('Shambhavi', 3), ('Manjeet', 4), ('Astha', 2)}> 열거형 Python zip()
zip()과 낱낱이 세다() 여러 목록이나 튜플을 병렬로 처리하고 특정 목적을 위해 해당 인덱스에 액세스해야 하는 시나리오에 유용합니다.
파이썬3
names>=> [>'Mukesh'>,>'Roni'>,>'Chari'>]> ages>=> [>24>,>50>,>18>]> for> i, (name, age)>in> enumerate>(>zip>(names, ages)):> >print>(i, name, age)> |
>
>산출
0 Mukesh 24 1 Roni 50 2 Chari 18>
사전이 포함된 Python zip()
Python의 zip() 함수는 두 개 이상의 반복 가능한 항목을 결합하는 데 사용됩니다. 사전 입력 반복 가능 항목의 해당 요소가 튜플로 함께 쌍을 이루는 단일 반복 가능 항목으로 변환됩니다. 사전과 함께 zip()을 사용하면 사전에서의 위치에 따라 사전의 키와 값이 쌍을 이룹니다.
파이썬3
stocks>=> [>'GEEKS'>,>'For'>,>'geeks'>]> prices>=> [>2175>,>1127>,>2750>]> new_dict>=> {stocks: prices>for> stocks,> >prices>in> zip>(stocks, prices)}> print>(new_dict)> |
>
>산출
{'GEEKS': 2175, 'For': 1127, 'geeks': 2750}> Tuple을 사용한 Python zip()
튜플과 함께 사용하는 경우, 지퍼() 위치에 따라 튜플의 요소를 쌍으로 연결하여 작동합니다. 결과 이터러블에는 i번째 튜플이 각 입력 튜플의 i번째 요소를 포함하는 튜플이 포함됩니다.
파이썬3
tuple1>=> (>1>,>2>,>3>)> tuple2>=> (>'a'>,>'b'>,>'c'>)> zipped>=> zip>(tuple1, tuple2)> result>=> list>(zipped)> print>(result)> |
>
>
산출:
[(1, 'a'), (2, 'b'), (3, 'c')]>
여러 Iterable을 사용하는 Python zip()
Python의 zip() 함수를 사용하여 두 개 이상의 반복 가능 항목을 결합할 수도 있습니다. 여러 반복 가능 항목을 입력으로 사용하고 튜플의 반복 가능 항목을 반환할 수 있습니다. 여기서 각 튜플에는 입력 반복 가능 항목의 해당 위치에 있는 요소가 포함되어 있습니다.
파이썬3
list1>=> [>1>,>2>,>3>]> list2>=> [>'a'>,>'b'>,>'c'>]> list3>=> [>'x'>,>'y'>,>'z'>]> zipped>=> zip>(list1, list2, list3)> result>=> list>(zipped)> print>(result)> |
>
문자열.자바 포함
>산출
[(1, 'a', 'x'), (2, 'b', 'y'), (3, 'c', 'z')]>
크기가 다른 압축 목록
zip() 함수는 전달된 가장 작은 목록에 대해서만 반복합니다. 길이가 다른 목록이 제공되면 결과 조합은 전달된 가장 작은 목록만큼만 길어집니다. 다음 코드 예제에서는:
파이썬3
# Define lists for 'persons', 'genders', and a tuple for 'ages'> persons>=> [>'Chandler'>,>'Monica'>,>'Ross'>,>'Rachel'>,>'Joey'>,>'Phoebe'>,>'Joanna'>]> genders>=> [>'Male'>,>'Female'>,>'Male'>,>'Female'>,>'Male'>,>'Female'>,>'Female'>]> ages>=> (>35>,>36>,>38>,>34>)> # Create a zipped object combining the 'persons' and 'genders'> #lists along with the 'ages' tuple> zipped_result>=> zip>(persons, genders, ages)> # Print the zipped object> print>(>'Zipped result as a list:'>)> for> i>in> list>(zipped_result):> >print>(i)> |
>
>산출
Zipped result as a list: ('Chandler', 'Male', 35) ('Monica', 'Female', 36) ('Ross', 'Male', 38) ('Rachel', 'Female', 34)> zip()을 사용하여 압축 풀기
압축을 푼다는 것은 압축된 값을 원래대로 다시 개별적으로 변환하는 것을 의미합니다. 이것은 다음의 도움으로 이루어집니다. * 운영자.
파이썬3
# initializing lists> name>=> [>'Manjeet'>,>'Nikhil'>,>'Shambhavi'>,>'Astha'>]> roll_no>=> [>4>,>1>,>3>,>2>]> marks>=> [>40>,>50>,>60>,>70>]> # using zip() to map values> mapped>=> zip>(name, roll_no, marks)> # converting values to print as list> mapped>=> list>(mapped)> # printing resultant values> print>(>'The zipped result is : '>, end>=>'')> print>(mapped)> print>(>'
'>)> # unzipping values> namz, roll_noz, marksz>=> zip>(>*>mapped)> print>(>'The unzipped result:
'>, end>=>'')> # printing initial lists> print>(>'The name list is : '>, end>=>'')> print>(namz)> print>(>'The roll_no list is : '>, end>=>'')> print>(roll_noz)> print>(>'The marks list is : '>, end>=>'')> print>(marksz)> |
>
>
산출
The zipped result is : [('Manjeet', 4, 40), ('Nikhil', 1, 50), ('Shambhavi', 3, 60), ('Astha', 2, 70)] The unzipped result: The name list is : ('Manjeet', 'Nikhil', 'Shambhavi', 'Astha') The roll_no list is : (4, 1, 3, 2) The marks list is : (40, 50, 60, 70)> Python 루프와 함께 zip() 사용
zip을 사용하여 실행될 수 있는 응용 프로그램은 많이 있습니다. 학생 데이터베이스 또는 점수표 또는 그룹 매핑이 필요한 기타 유틸리티. 스코어카드의 간단한 예가 아래에 나와 있습니다.
파이썬3
# Python code to demonstrate the application of> # zip()> # initializing list of players.> players>=> [>'Sachin'>,>'Sehwag'>,>'Gambhir'>,>'Dravid'>,>'Raina'>]> # initializing their scores> scores>=> [>100>,>15>,>17>,>28>,>43>]> # printing players and scores.> for> pl, sc>in> zip>(players, scores):> >print>(>'Player : %s Score : %d'> %> (pl, sc))> |
>
>산출
Player : Sachin Score : 100 Player : Sehwag Score : 15 Player : Gambhir Score : 17 Player : Dravid Score : 28 Player : Raina Score : 43>