본문 바로가기

코딩코딩80

itertools - cycle cycle - 순환가능 객체 요소의 반복 생성 zip을 할 때 한 리스트의 elements 수가 다른 것보다 작다고 하면, 1,2,1,2,1,2,1,2,1,2,... 이렇게 다른 리스트의 원소 수에 맞춰 계속 쓰는 것이 아니라 itertools.cycle([1,2]) 이렇게 쓰면 훨씬 간단히 표현할 수 있다. 입력 예시) import itertools lst1 = ["가", "나", "다"] lst2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] for item1, item2 in zip(itertools.cycle(lst1), lst2): print(item1, item2) 결과물) 가 1 나 2 다 3 가 4 나 5 다 6 가 7 나 8 다 9 설명)가나다는 3개 뿐이지만 cycle덕에 가나다.. 2020. 4. 17.
주피터 노트북 테마 한눈에 비교하기! (다운받는 법, 바꾸는 법) 주피터 테마 다운받는 법 주피터 테마는 똑같이 cmd 창에서 pip install jupyterthemes 라고 치면 테마들이 깔립니다. 어떤 테마들이 있냐면, cheterish grade3 gruvboxd gruvboxl monokai oceans16 onedork solarizedd solarizedl 이렇게 총 9가지가 있습니다. 테마 종류 보는 법 jt -l 이라고 치면 cmd 창에서 위의 테마 list를 볼 수 있습니다. 리스트의 순서대로 보겠습니다. 어두운 테마만 비교해서 보겠습니다. 이번엔 밝은 테마만 비교해보겠습니다. 테마 바꾸는 법 맘에드는 테마를 고르셨다면 이름을 잘 기억했다가 cmd에 이렇게 입력하면 됩니다. 예시1) chesterish로 테마 변경 jt -t chesterish 예시.. 2020. 4. 13.
중첩된 반복문에 대한 List comprehension/리스트 컴프리헨션 저번에는 간단하게 알아보았는데요, 이번엔 조금 복잡한 중첩 for문을 어떻게 표현할지에 대해 공부해보겠습니다. [1,2,3]과 [1,2,3,4,5,6,7,8,9,10]의 원소끼리 곱해서 multiplications에 넣는다고 생각해봅시다. multiplications = [] for i in range(1,4): for n in range(1,11): multiplications.append(i*n) 이번엔 리스트 컴프리헨션으로 살펴봅시다. multiplications = [i*n for i in range(1,4) for n in range(1,10)] 두개까지 되는 건 알겠는데.... 몇 개까지 가능할까요? 제한이 없습니다. (제 머리만 제한됨) [ for in (optional if _a) for .. 2020. 3. 30.
리스트 컴프리헨션/List comprehensions(리스트 축약) 1~20사이의 짝수만 들어있는 evens 리스트를 만드시오. 방법 1 먼저 evens라는 리스트를 정의하고 for 문에 %2를 한 값이 0이라면 2의 배수이므로 evens에 append를 하면 됩니다. evens = [] for n in range(1,21): if n%2 == 0: evens.append(n) 방법 2 하지만 이런 방법도 있습니다. evens = [n for n in range(1,21) if n%2 == 0] 4줄 --> 1줄로 바뀌었네요. 리스트를 이렇게 간단히 표현해줄 수 있는 걸 리스트 컴프리헨션이라고 합니다. comprehension의 뜻은 이해(력)이라는 뜻인데 리스트의 이해라기 보다는, 축약이라는 표현이 더 자연스러워 보입니다. 알기 쉽게 표현해보자면 [ for in if .. 2020. 3. 30.