문법 정리
sum()
sum(덧셈할 것, 처음에 더할 것)
만약 여기서 처음에 더할 것을 [ ] (빈 리스트) 로 준다면?
(두번째 인자의 default값이 0이므로 만약 두번째 인자를 [ ] 로 주지 않으면 error발생함.)
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
print(sum(array, []))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
즉 두번째 인자에 [ ] 를 줌으로써, 리스트 연산을 명확하게 알려주는 것!
[ (두번째 인자) ] + [1, 2, 3] + [4, 5, 6] + [7, 8, 9] + [10, 11, 12] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
count()
[list or string].count(char or substring, start, end)
문자열, 또는 리스트 안에서 찾고싶은 문자의 개수를 찾을 수 있다.
- 리스트
array = [1, 5, 4, 4, 5, 6]
print(array.count(4)) # 2
print(array.count(1)) # 1
- 문자열
string = "aabacdfk"
print(string.count("f")) # 1
print(string.count("a")) # 3
zip()과 아스테리스크(*)
zip()
여러개의 iterable 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플의 형태로 차례로 접근할 수 있는 반복자를 반환함.
nums = [1, 2, 3]
chars = ["A", "B", "C"]
for pair in zip(nums, chars):
print(pair)
z = list(zip(nums, chars))
print(z)
(1, 'A')
(2, 'B')
(3, 'C')
[(1, 'A'), (2, 'B'), (3, 'C')]
풀기 연산자(*)와 함께 사용
다시 unzip이 가능함
nums = [1, 2, 3]
chars = ["A", "B", "C"]
pairs = list(zip(nums, chars))
print(pairs)
nums, chars = map(list, zip(*pairs))
print(nums)
print(chars)
[(1, 'A'), (2, 'B'), (3, 'C')]
[1, 2, 3]
['A', 'B', 'C']
심화 - 행렬에서의 행과 열 전환하기
row_col = [[2, 3, 4, 5], [6, 7, 8, 9], [10, 11, 12, 13]]
new = list(map(list, zip(*row_col)))
print(new)
[[2, 6, 10], [3, 7, 11], [4, 8, 12], [5, 9, 13]]
'⌨️ Algorithm > Python' 카테고리의 다른 글
[Algorithm] Week 7. 다이나믹 프로그래밍 (0) | 2023.02.14 |
---|---|
[Algorithm] Week 6. 이진 탐색 (0) | 2023.02.07 |
[Algorithm] Week 5. 정렬 (0) | 2023.01.31 |
[Algorithm] Week 4. DFS/BFS (0) | 2023.01.24 |
[Python] itertools 라이브러리 (0) | 2023.01.19 |
댓글