티스토리 뷰
출처 : https://wikidocs.net/32
map
map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다. map은 입력받은 자료형의 각 요소가 함수 f에 의해 수행된 결과를 묶어서 리턴하는 함수이다.
다음의 예를 보자.
# two_times.py
def two_times(numberList):
result = [ ]
for number in numberList:
result.append(number*2)
return result
result = two_times([1, 2, 3, 4])
print(result)
two_times 함수는 리스트 요소를 입력받아 각 요소에 2를 곱한 결과값을 돌려준다. 실행 결과는 다음과 같다.
결과값: [2, 4, 6, 8]
위의 예제는 map 함수를 이용하면 다음처럼 바꿀 수 있다.
>>> def two_times(x): return x*2
...
>>> list(map(two_times, [1, 2, 3, 4]))
[2, 4, 6, 8]
이제 앞 예제를 해석해 보자. 먼저 리스트의 첫 번째 요소인 1이 two_times 함수의 입력값으로 들어가고, 1 * 2의 과정을 거쳐서 2가 된다. 다음으로 리스트의 두 번째 요소인 2가 2 * 2의 과정을 거쳐 4가 된다. 따라서 결과값 리스트는 이제 [2, 4]가 된다. 총 4개의 요소값이 모두 수행되면 최종적으로 [2, 4, 6, 8]이 리턴된다. 이것이 map 함수가 하는 일이다.
(※ 위 예에서 map의 결과를 리스트로 보여 주기 위해 list 함수를 이용하여 출력하였다. 파이썬 2.7은 map의 결과가 리스트이므로 위 예에서 list 함수를 이용하여 리스트로 변환하지 않아도 된다.)
앞의 예는 lambda를 사용하면 다음처럼 간략하게 만들 수 있다.
>>> list(map(lambda a: a*2, [1, 2, 3, 4]))
[2, 4, 6, 8]
map 함수 예를 하나 더 살펴보자.
# map_test.py
def plus_one(x):
return x+1
print(list(map(plus_one, [1, 2, 3, 4, 5])))
결과값: [2, 3, 4, 5, 6]
위 예는 map과 plus_one 함수를 이용하여 리스트의 각 요소값을 1씩 증가시키는 예제이다.
'프로그래밍 > Python' 카테고리의 다른 글
CK VIP Exploit 디코드 (0) | 2017.01.04 |
---|---|
Python - APScheduler (1) | 2016.12.27 |
RSA 암호화 / 복호화 (0) | 2016.12.26 |
[Django] Pycharm에서 Django 실습 - 게시판,댓글, 이미지첨부 기능 (3) | 2016.05.15 |
Telegram Bot을 이용한 악성코드 분석 자동화 (0) | 2016.04.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 한글악성코드
- vuln
- 비트코인
- 멋쟁이사자처럼 4기
- .wll
- Yara
- Kimsuky
- 출처 : Do it 안드로이드 프로그래밍
- 스피어피싱
- 악성코드
- 위협정보공유
- Bisonal
- CVE-2018-9375
- Decoding
- keylogger
- AMSI
- Static Analysis Engine
- cuckoo-sandbox
- MS-Office
- koodous
- VirusBulletin
- us-cert
- 해킹메일
- Flybits
- malware
- infostealer
- CVE-2018-0798
- idapython
- Servey
- Cisco Talos
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함