반응형
1. zip
mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
new_list = list(map(list, zip(*mylist)))
- 출력 결과 : [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
python에서는 파이썬의 zip과 unpacking 을 이용하면 코드 한 줄로 리스트를 뒤집을 수 있습니다.
zip 의 추가기능 !
다른 언어에서는..(또는 이 기능을 모르시는 분은)
보통은 len과 index를 이용하여 각 원소에 접근합니다.
파이썬의 zip을 이용하면 index를 사용하지 않고 각 원소에 접근할 수 있습니다.
def solution(mylist):
answer = []
for number1, number2 in zip(mylist, mylist[1:]):
answer.append(abs(number1 - number2))
return answer
i번째 원소와 i+1번째 원소 - zip
i 번째 원소와 i+1 번째 원소를 number1, number2 에 넣고 계산
2. map - 모든 멤버의 type 변환하기
Iterable의 모든 멤버의 type을 변환하는 방법을 알아봅시다.
다른 언어에서는..(또는 이 기능을 모르시는 분은)
보통 사람들은 for 문을 이용해 원소의 타입을 하나씩 바꿉니다.
list1 = ['1', '100', '33']
list2 = []
for value in list1:
list2.append(int(value))
파이썬의 map을 사용하면 for 문을 사용하지 않고도 멤버의 타입을 일괄 변환할 수 있습니다.
list1 = ['1', '100', '33']
list2 = list(map(int, list1))
input 을 사용할때도 map 을 이용하여 일괄 변환하여 사용하는 겨우도 많다
a, b = map(int, input().split())
3. Join - sequence 멤버를 하나로 이어붙이기
다른 언어에서는..(또는 이 기능을 모르시는 분은)
보통 사람들은 for 문을 이용해 원소를 하나씩 이어 붙입니다.
my_list = ['1', '100', '33']
answer = ''
for value in my_list:
answer += value
파이썬은 str.join() 으로 이 코드를 두 줄로 줄일 수 있습니다 .
my_list = ['1', '100', '33']
answer = ''.join(my_list)
반응형
'Another-Develop > Python' 카테고리의 다른 글
05 파이썬 - collections.Counter, 2차원 리스트 -> 1차원 리스트 : - from_iterable, 순열 : permutations (0) | 2021.06.07 |
---|---|
04 파이썬 - sequence type, 곱집합 product (0) | 2021.04.23 |
02 파이썬 - 알파벳 모듈, sorted (0) | 2021.04.16 |
01 파이썬 - divmod, 10진법 변환, 문자열 정렬 (0) | 2021.04.15 |
파이썬 연습장 (0) | 2021.04.14 |