[1] List Comprehenshion
- 리스트 안에 for문을 포함하여 한 줄로 편하게 코드를 작성할 수 있게 하는 문법.
- 형식 : [표현식 for 항목 in 반복가능객체 if 조건문]
- 예문
ls = []
for i in range(1, 5):
ls.append(i)
print(ls)
|
ls = []
for i in range(1, 5):
if i % 2 == 0:
ls.append(i)
print(ls)
|
words = ["apple", "banana", "cherry"]
lengths = []
for word in words :
lengths.append(len(word))
print(lengths)
|
ls = [i for i in range(1,5)]
print(ls)
|
ls = [i for i in range(1,5) if i % 2 == 0]
print(ls)
|
words = ["apple", "banana", "cherry"]
lengths = [len(word) for word in words]
print(lengths)
|
- 예문2 - 리스트
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
first_column = [row[0] for row
in matrix] print(first_column)
|
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
squared_matrix = [[element**2
for element in row] for row in matrix] |
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
even_elements = [element
for row in matrix for element in row if element % 2 == 0] |
matrix[i]들이 row에 들어가
for문 반복, row리스트의 첫번째 항이 output. |
matrix의 각 항을 하나씩 뽑아
row에 넣고, row에서도 각 항을 하나씩 뽑아 element에 넣어서 2중 반복문. squared_matrix 에는 element의 제곱을 넣는다 |
오른쪽과 똑같은 2중 반복문.
단 element 가 짝수인 경우에만 even_elements 리스트에 포함 |
결과
[1, 4, 7] |
결과
[[1, 4, 9], [16, 25, 36], [49, 64, 81]] |
결과
[2, 4, 6, 8] |
[2] Dict Comprehenshion
- 리스트와 마찬가지로 딕셔너리로 for문을 포함하여 한 줄로 편하게 코드를 작성할 수 있게 한 것.
- 형식 : [표현식 for 항목 in 반복가능객체 if 조건문]
- 예문 - 좌우 코드들은 각각 같은 코드이다.
오른쪽 코드를 Comprehenshion으로 표현하면 한줄로 간단하게 바뀐다.
names = ['Merry','John','Chris']
num = [1,2,3]
dic = {names[i]:num[i] for i in range(len(names))}
|
names = ['Merry','John','Chris']
num = [1,2,3]
dic1 = {} for i in range(len(names)):
dic1[names[i]] = num[i]
|
names = ['Merry','John','Chris']
num = [1,2,3]
dic = {k:v for k, v in zip(names, num)}
|
names = ['Merry','John','Chris']
num = [1,2,3]
dic1 = {}for k, v in list(zip(names, num)):
dic1[k] = v
|
names = ['Merry','John','Chris']
num = [1,2,3]
dic = {k:v*5 for k, v in zip(names, num) if v % 2 == 1}
|
names = ['Merry','John','Chris']
num = [1,2,3]
dic1 = {} for k, v in list(zip(names, num)):
if v % 2 == 1:
dic1[k] = v*5
|
'Python' 카테고리의 다른 글
dataframe 1 - 생성, 조회, 추출 (0) | 2024.07.05 |
---|---|
파이썬 기초 5- 라이브러리 (0) | 2024.07.05 |
파이썬 기초 4 - 함수와 예외처리 (0) | 2024.07.05 |
파이썬 기초 2 - 제어문 (0) | 2024.07.05 |
파이썬 기초 1 - 자료형 (2) | 2024.07.05 |