r1=[1,2,3,4,5,6]
r2=[]
for i in r1:
r2.append(i*2)
print(r2)
[2,4,6,8,10,12]
r1 = [1,2,3,4,5]
r2 = [x * 2 for x in r1] #리스트 컴프리헨션의 기본 구성
print(r2)
[2,4,6,8,10]
컴프리헨션을 이용하여 값을 10씩 증가시킨 다른 리스트 생성하기
# %% 컴프리헨션을 이용하여 값을 10씩 증가시킨 다른 리스트 생성하기
d1 = [1,2,3,4,5,6]
d2 = [x + 10 for x in d1]
print(d2)
[11,12,13,14,15,16]
for문을 리스트 컴프리헨션으로 바꾸기
# %% for문
r1 = [1,2,3,4,5,6,7,8,9,10]
r2 =[]
for i in r1:
if i % 2: # true나 false가 결과로 오는 자리 뒤의 == 0 생략가능
r2.append(i)
print(r2)
[1,3,5,7,9]
# %% 리스트 컴프리헨션
r1 = [1,2,3,4,5,6,7,8,9,10]
r2=[]
r2 =[x for x in r1 if x %2]
print(r2)
[1,3,5,7,9]
# %% 기존의 for문
s1 = ['red','blue']
s2 = ['green','yellow','pink']
s3 = []
for i in s1:
for j in s2:
s3.append(i+j)
print(s3)
# %% 리스트 컴프리헨션으로 바꾸기
s1 = ['red','blue']
s2 = ['green','yellow','pink']
s3 = [i + j for i in s1 for j in s2]
print(s3)
['redgreen', 'redyellow', 'redpink', 'bluegreen', 'blueyellow', 'bluepink']
['redgreen', 'redyellow', 'redpink', 'bluegreen', 'blueyellow', 'bluepink']
# %% 구구단
gugu = [i * j for i in range(2,10) for j in range(1,10)]
gugugu = [i * j for i in range(2,10) for j in range(1,10) if (i * j)%2]
print(gugu) #구구단 출력하기
print(gugugu) #홀수 값만 출력하기
# %% 빈 리스트 r1을 만들고 리스트에 내용을 1~10까지 채워라
# 그 리스트에 저장된 내용을 2배씩 증가시켜 r2 리스트에 담기
# 메인함수에 담아서 실행하는 형태로 작성하기
def main():
r1=[]
r1 = [x for x in range(1,11)]
r2 = [x * 2 for x in r1]
print(r1)
print(r2)
main()
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
# %% 위의 문제에서 r1의 홀수만 출력하기
def main():
r1=[]
r1 = [x for x in range(1,11)]
r1 =[x for x in r1 if x % 2]
print(r1)
main()
[1,3,5,7,9]
728x90
'Dev. > Python' 카테고리의 다른 글
python :: lambda (0) | 2022.08.05 |
---|---|
python :: iter 이터레이터 (0) | 2022.08.04 |
python :: 얕은 복사(shallow copy) (0) | 2022.08.02 |
Python :: mutable / immutable (0) | 2022.07.26 |
Python :: 예외처리 / 사용자 예외 처리, 파일 입출력 (0) | 2022.07.20 |
댓글