파이썬 zip() 함수.

파이썬 zip() 함수:



zip() 함수. 두 개 이상의 iterable이 있고 하나의 iterable로 집계되어야 할 때 사용됩니다.

(또는)

zip() 메서드는 여러 컨테이너의 유사한 인덱스를 매핑하여 단일 엔터티로 사용할 수 있도록 하는 것입니다.

구문 : zip(*반복자)

참조는 아래 예를 참조하십시오.

list1 = [1, 2, 3, 4]

list2 = [5, 6, 7, 8]

result = list(zip(list1, list2))

print(result)


산출:

[(1, 4), (2, 5), (3, 6)]



두 목록에 동일한 수의 요소가 있는 경우 두 목록의 요소가 있는 세 번째 목록은 zip()을 사용하여 만들 수 있습니다.

list1 = [1, 2, 3]

list2 = [4, 5, 6]



여기서 list1과 list2에는 동일한 수의 요소가 있습니다. 결과 목록에는 list1 및 list2 요소가 포함됩니다.

result = list(zip(list1, list2))

print(result)



산출:

[(1, 4), (2, 5), (3, 6)]



두 목록에 동일한 수의 요소가 있는 경우 이러한 요소로 사전을 만들 수 있습니다. 첫 번째 목록의 요소는 키로 간주되고 두 번째 목록의 요소는 값으로 간주됩니다.

예를 들어 :

list1 = [1, 2, 3]

list2 = [4, 5, 6]

result = dict(zip(list1, list2))

print(result)



산출:

{1: 4, 2: 5, 3: 6}



아래에서 더 많은 예를 보자



열과 값 또는 데이터를 사용하여 목록 만들기.

columns = ['employee_id', 'employee_name', 'employee_salary']

values = [1, 'John', '50000']

employee_details = list(zip(columns, values))

print(employee_details)



산출:

[('employee_id', 1), ('employee_name', 'John'), ('employee_salary', '50000')]



열과 값을 사용하여 사전 만들기.

columns = ['employee_id', 'employee_name', 'employee_salary']

values = [1, 'Smith', 80000]

employee_details = dict(zip(columns, values))

print(employee_details)



산출:

{'employee_id': 1, 'employee_name': 'Smith', 'employee_salary': 80000}



튜플에 zip()을 적용할 수 있습니다.

columns = ('employee_id', 'employee_name', 'employee_salary')

values = (1, 'Eshani', 50000)

employee_details = dict(zip(columns, values))

print(employee_details)



산출:

{'employee_id': 1, 'employee_name': 'Eshani', 'employee_salary': 50000}



여러 데이터에 대한 zip() 함수.

columns = ('employee_id', 'employee_name', 'employee_salary')

values = (
    (1, 'John', 50000),
    (2, 'Smith', 80000),
    (3, 'Ruhi', 60000),
    (4, 'Arnav', 50000),

)



위에서 우리는 여러 직원 데이터를 가지고 있으므로 여기에서는 목록 이해를 사용할 것입니다.

사전 목록을 생성하려면 각 레코드에 zip을 적용해야 합니다. 목록 이해를 사용하는 예. 우리는 각 직원에 zip 및 사전을 적용하고 있습니다.

employee_details = [list(zip(columns, employee)) for employee in values]

print(employee_details)



산출:

[[('employee_id', 1), ('employee_name', 'John'), ('employee_salary', 50000)], [('employee_id', 2), ('employee_name', 'Smith'), ('employee_salary', 80000)], [('employee_id', 3), ('employee_name', 'Ruhi'), ('employee_salary', 60000)], [('employee_id', 4), ('employee_name', 'Arnav'), ('employee_salary', 50000)]]



우리는 사전 이해를 사용할 수 있습니다.

columns = ('employee_id', 'employee_name', 'employee_salary')

values = [
          (1, 'Teena', 80000),
          (2, 'Mouna', 60000),
          (3, 'Janvi', 40000),

         ]


employees_details = [dict(zip(columns, employee)) for employee in values]

print(employees_details)



산출:

[{'employee_id': 1, 'employee_name': 'Teena', 'employee_salary': 80000}, {'employee_id': 2, 'employee_name': 'Mouna', 'employee_salary': 60000}, {'employee_id': 3, 'employee_name': 'Janvi', 'employee_salary': 40000}]



맵을 사용하여 행 수준 변환을 적용하여 각 직원을 열이 키로 포함된 사전으로 변환하려고 합니다.

columns = ('employee_id', 'employee_name', 'employee_salary')

values = [
          (1, 'John', 50000),
          (2, 'Smith', 80000),
          (3, 'Sanvi', 60000)
         ]

employee_details = list(map(lambda employee: dict(zip(columns, employee)), values))

print(employee_details)



산출:

[{'employee_id': 1, 'employee_name': 'John', 'employee_salary': 50000}, {'employee_id': 2, 'employee_name': 'Smith', 'employee_salary': 80000}, {'employee_id': 3, 'employee_name': 'Sanvi', 'employee_salary': 60000}]



첫 번째 요소Employees_list의 데이터 유형 인쇄

print(employee_details[0])



산출:

{'employee_id': 1, 'employee_name': 'John', 'employee_salary': 50000}



employee_list의 인쇄 크기

print(len(employee_details))



산출:

3

좋은 웹페이지 즐겨찾기