프로그래밍/Python
python 3일차 - 람다(lambda)를 이용하여 줄여쓰기
비전공개미
2022. 8. 31. 17:33
반응형
SMALL
lambda : 줄여쓰기, 간단하게 기입¶
In [1]:
mylist = list(range(10))
mylist
Out[1]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [2]:
for i in mylist :
print(i)
0
1
2
3
4
5
6
7
8
9
In [5]:
[i for i in mylist] # for문을 한줄로 처리할 수 있다
Out[5]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [48]:
list_a = [0, 1, 2, 3, 4]
list_b = [5, 6, 7]
# 2차원 배열
list_c = [list(range(5)),[5, 6, 7]] #== list_c = [list_a, list_b]
list_c
list_c[0]
Out[48]:
[0, 1, 2, 3, 4]
In [12]:
list_c[0][3] # 2차원 배열 끄내서 사용
Out[12]:
3
In [14]:
for i in list_c :
print(i)
[0, 1, 2, 3, 4]
[5, 6, 7]
In [55]:
for i in list_c :
for j in i :
print(j)
0
1
2
3
4
5
6
7
In [20]:
list_d = [j for i in list_c for j in i] # 2중 for문 한줄로 출력
list_d
Out[20]:
[0, 1, 2, 3, 4, 5, 6, 7]
In [21]:
list_d[1]
Out[21]:
1
In [24]:
num = 3
if num < 5 :
print('num은 5보다 작다')
num은 5보다 작다
In [27]:
num = 10
print('num은 5보다 작다' if num < 5 else 'num은 5보다 크다') # 조건문은 else가 있어야 함
num은 5보다 크다
In [31]:
### for + if
list_e = list(range(10, 20))
list_e
for i in list_e :
if i == 14 :
print(i)
# 원라인
[i for i in list_e if i == 14]
14
Out[31]:
[14]
In [34]:
for i in list_e :
if i == 14 :
print(i)
else :
print('no')
no
no
no
no
14
no
no
no
no
no
In [35]:
[i if i == 14 else 'no' for i in list_e]
Out[35]:
['no', 'no', 'no', 'no', 14, 'no', 'no', 'no', 'no', 'no']
In [40]:
[i * i for i in range(0, 20, 2)] # 0 ~ 19 까지중 짝수를 찾아서 제곱해줘라
Out[40]:
[0, 4, 16, 36, 64, 100, 144, 196, 256, 324]
In [43]:
baselist = ['사과', '배', '자두', '초콜릿', '바나나']
out = [f for f in baselist if f != '초콜릿'] # 필터링
out
Out[43]:
['사과', '배', '자두', '바나나']
In [45]:
list_a = [52, 273, 103, 32, 98]
# min / max 함수
min_val = min(list_a)
min_val
Out[45]:
32
반응형
LIST