일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ceil
- 세그먼트 트리
- python
- itertools
- FOREIGN KEY
- list comprehension
- SUM
- BOJ
- datetime
- lower_case_table_names
- mysql
- 외래키
- SUM()
- project euler
- convention
- 자료구조
- enumerate
- flask
- 딕셔너리
- Codeforces
- 파이썬
- 에라토스테네스의 체
- 네이밍
- 리스트 컴프리헨션
- timestamp
- 2557
- 소수
- Dictionary
- 큰 수 나누기
- floor
- Today
- Total
목록리스트 컴프리헨션 (2)
늒네 기록
다음과 같은 리스트를 만들고 싶다면 어떻게 해야할까? l = [ [0], [0,1], [0,1,2], [0,1,2,3], [0,1,2,3,4] ] 이전에 쓴 list comprehension 글에서 사용한 방법을 각 아이템마다 적용해보면 다음과 같다. l = [ [i for i in range(1)], [i for i in range(2)], [i for i in range(3)], [i for i in range(4)], [i for i in range(5)] ] 그런데, 여기에도 규칙이 있지 않은가? range 안에 있는 숫자가 [1,2,3,4,5] 안에 있는 숫자로, 너무나도 range로 표현하면 좋겠다는 생각이 든다. 저걸 j for j in range(1,6)으로 표현한다고 하고, 저 리스트 자..
[7, 17, ..., 87, 97]을 만들고 싶으면 어떻게 해야 할까? 1. 빈 리스트를 만들고 하나씩 더한다. l = [] for i in range(10): l.append(i*10+7) print(l) # [7, 17, 27, 37, 47, 57, 67, 77, 87, 97] 2. 리스트 컴프리헨션 l = [i*10+7 for i in range(10)] print(l) #[7, 17, 27, 37, 47, 57, 67, 77, 87, 97] 당장 가독성 측면에서 l에 값 하나씩 집어넣는 것보다 l을 이루고 있는 값이 어떻게 만들어졌는지 보는 편이 이해하기에 훨씬 수월한데다가, 코드를 작성하는 단계에서도 생각한 걸 더 바로 옮길 수 있고, 심지어 더 짧다.