기초적인 문법 or 큰 카테고리의 문법을 제외하고, 공부하면서 발견한 흥미로운 문법을 하나씩 추가해보자!
# rjust
s1 = 'you'
k1 = '0'
n1 = 5
print(s1.rjust(n1, k1)) # 00you | 기존의 n앞에 k를 붙여서 총 5글자를 만든다.
check = '123'.rjust(4))
print(check) # 123
print(len(check)) # 4 | 123옆에 공백 하나가 더 있는, '123 '인 것이다.
# ljust
a = '123'
print(a.ljust(5, '0')) # 12300
k = a.ljust(5)
print(k) # 123
print(len(K)) # 5 | k는 '123 '인 문자열이다.
# zfill: 0을 왼쪽부터 채운다.
print('300'.zfill(5)) # 00300
# map(함수, iterable 객체)
lst = ['1','2','3','4']
result = map(int, lst)
print(result) # 객체 주소 <map object at 0x7f70ca673890>
print(list(result)) # [1, 2, 3, 4] | map 객체를 list로 변형
# map with lambda
lst = ['1','2','3','4']
result = list(map(lambda x: int(x), lst))
''' 해석
1) map 함수로 인해 lst의 요소를 하나씩 받을 수 있다.
2) lambda로 인해 하나씩 받은 요소는 x가 되고, int(x)를 반환한다.
3) map 객체를 list로 묶어준다.
'''
print(result) # [1,2,3,4]
# filter(함수, iterable 객체)
def even(x): # 짝수를 구하는 함수
if x % 2 == 0:
return True
else:
return False
lst = [1,2,3,4,5]
result = filter(even, lst) # filter(필터 조건 함수, iterable한 객체)
print(result) # 객체 주소 <filter object at 0x7f70ca4d0bd0>
print(list(result)) # [2,4]
# filter with lambda
lst = [1,2,3,4,5]
result = list(filter(lambda x: x % 2 == 0, lst))
'''해석
1) lst의 요소를 filter에 넣는다.
2) lambda x 식의 조건을 만족하는 값만 반환한다.
3) x가 들어올 때, x%2==0을 만족하는 값
'''
print(result) # [2,4]
# ex1) list
n = [1,2,3,4,5]
plus = []
for i in n:
plus.append(i+1)
print(plus) # [2,3,4,5,6]
# 리스트 컴프리헨션을 사용하면?
compre = [i+1 for i in n]
# ex2) dict
n = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
dic_compre = {value: key for key, value in n.items()}
# ex3) 조건
numbers = {'amy': 7, 'jane': 9, 'sophia': 5, 'jay': 10}
pas = {name: 'PASS' if numbers > 8 else 'NO PASS' for name, numbers in numbers.items()}
print(pas) # {'amy': 'NO PASS', 'jane': 'PASS', 'sophia': 'NO PASS', 'jay': 'PASS'}