본문 바로가기
개발일지/Python

[파이썬으로 익히는 말랑말랑 알고리즘] comprehension과 반복문

by 개발에정착하고싶다 2022. 5. 12.
320x100

이부분은 확실히 if문 나열해줄땐 보긴했는데, for문을 comprehension 한건 처음봤다.

유용한것 같다.

# comprehension 방식
string='ABCDEDE'
array = [0 for i in range(len(string))]
# 위의 코드는 아래의 코드와 같다.
# array = []
# for i in range(len(string)):
#    array.append(0)
print(array)

 

두번째. 각 숫자를 정렬하는 함수

# 각 숫자를 아래차순으로 정렬하고 각 몇개씩 있는지 세는 문제

# 방법1 내장 함수 이용법
from collections import Counter
x = [4,0,4,4,1,8,8,2,2,5,0,6,5,6,0]
# sort는 출력시, 보이기만 정렬한것같지만 sorted는 리스트 자체를 정렬해버리고 고정시키는 것 같다.
x = sorted(x)
# .items가 생각이 안났었다.
for a,b in Counter(x).items():
    print(a,b)

 

세번째. 두번째와 마찬가지로 반복문을 이용한건데

이건 해설을 봐도 뭔소린지.. 내가 이해를 못하는것보다도 설명이 없다시피하다.

이해하라고 설명 풀이해놓은건지 의문이다.

 

# 방법2 반복문 이용
# 이건 전체적으로 이해가 안된다.
# memo에 대한게 이해가 안가니깐.
x = [4,0,4,4,1,8,8,2,2,5,0,6,5,6,0]
memo = [0] * 10
for i in x:
    memo[i] += 1

for a in range(len(memo)):
    print(a, memo[a])

# 결과해설은 이해하라고 만들어놨는지 의문이다.
# 48페이지 부분이다.
300x250