💬 파이썬에서 iterable(반복적) 오브젝트를 생성하기 위한 방법. 크게 4가지로 구분
lc = [ lists for lists in iterable object ]
- [] 안에 사용되는 변수(요소)명은 동일해야함.
# 일반적인 리스트를 만드는 방법
meter = [3,0.7,5,10]
yard = []
for lenght in meter:
yard.append(meter*3.281)
yard
> [9.843, 2.2967, 16.405, 32.81]
▲ 비교용 ▼
# comprehension으로 만드는 방법
meter = [3,0.7,5,10]
yard = [lenght*3.281 for lenght in meter]
yard
> [9.843, 2.2967, 16.405, 32.81]
lc = [st for st in 'water']
lc
> ['w','a','t','e','r']
obj = "water"
lc = [st for st in obj]
lc
> ['w','a','t','e','r']
# 1번째 변수에 연산을 사용할 수 있음.
lc = [ com*3 for com in range(0,6) ]
# 3의 배수 인 리스트 생성
lc
> [0, 3, 6, 9, 12, 15]
lc = [ com*3 for com in range(0,6) if com%2 == 0]
# 3의 배수인 리스트 중에서 짝수만 반환.
lc
> [0, 6, 12]
lc = [ com*3 if com%2==0 else 'ODD' for com in range(0,6)]
# 3의 배수인 리스트 중에서 짝수는 반환하고 홀수면 ODD를 출력한다.
lc
> [0, 'ODD', 6, 'ODD', 12, 'ODD']
# 일반적인 방법
my_lc = []
for x in [1,2,3]:
for y in [10,20]:
my_lc.append(x*y)
my_lc
> [10,20,20,40,30,60]
▲ 비교용 ▼
# comprehension
my_lc = [x*y for x in [1,2,3] for y in [10,20]]
my_lc
> [10,20,20,40,30,60]
아래의 3개는 강의에서는 다루지 않지만
List Comprehension을 이해하기 위해 구글링을 하던 중에 알게 되었으며,
최대한 간단하게만 작성하고 추후에 추가적으로 작성하려고 한다.
sc = [ 요소 for 요소 in 'iterable object'('문자열'or 변수명 등) ]
dc = {key:value for key, value in }