map()의 경우 프로토타입은 map(함수, 시퀀스)이며 시퀀스의 각 요소에 대해 함수 작업을 수행합니다.
예를 들어 앞선 a, b, c = map(int, raw_input().split())은 입력된 a, b, c를 정수로 변환한다는 의미입니다. 또 다른 예:
a = ['1','2','3','4'] print map(list,a) print map(int,a)
첫 번째 맵은 목록 a의 각 요소를 목록으로 변환하고, 두 번째 맵은 a의 각 요소를 정수로 변환합니다.
zip()의 경우 프로토타입은 zip(*list)이고 list는 목록이며 zip(*list)는 다음과 같은 튜플을 반환합니다.
list = [[1,2,3],[4,5,6],[7,8,9]] t = zip(*list) print t
출력: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
x = [1,2,3,4,5] y = [6,7,8,9,10] a = zip(x,y) print a
출력: [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
다음은 몇 가지 추가 사항입니다.
[python] >>> list = [[0,1,2],[3,1,4]] >>> [sum(x) for x in list] [3, 8] >>> map(sum,list) [3, 8]
각 열의 합계를 얻으려면 먼저 zip(*list)을 사용하여 목록의 압축을 풀고 튜플 목록을 가져와야 합니다. , i번째 요소 그룹은 각 행의 i번째 요소를 포함합니다:
[python] >>> list = [[0,1,2],[3,1,4]] >>> zip(*list) [(0, 3), (1, 1), (2, 4)] >>> [sum(x) for x in zip(*list)] [3, 2, 6] >>> map(sum,zip(*list)) [3, 2, 6]
다음 예는 zip 및 unzip 방법에 대한 것입니다(실제로는 zip과 *는 함께 사용됩니다) work :
[python] >>> x=[1,2,3] >>> y=[4,5,6] >>> zipped = zip(x,y) >>> zipped [(1, 4), (2, 5), (3, 6)] >>> x2,y2=zip(*zipped) >>> x2 (1, 2, 3) >>> y2 (4, 5, 6) >>> x3,y3=map(list,zip(*zipped)) >>> x3 [1, 2, 3] >>> y3 [4, 5, 6]
map() 및 *의 작업 방법을 소개하는 관련 기사를 더 보려면 Python에서 zip()을 사용하려면 PHP 중국어 웹사이트를 주목하세요!