업데이트:

태그: , ,

카테고리:

리스트 표현식

표현 방법

2가지 방식이 있다.

[ for 변수 in 리스트]
list( for 변수 in 리스트)
>>> a = [i for i in range(10)]      

>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> b = list(i for i in range(10))    

>>> b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]



[ ] 리스트 표현식에서 조건문 사용

a = [i for i in range(10) if i % 2 == 0]
>>> a
[0,2,4,6,8]



조건식을 여러번 사용할 수도 있다. 단, 처리순서는 가장 먼저 실행되는 for문이 먼저이다.

a = [i *j for i in range(1,10) 
          for j in range(2,10)]
>>>a
[2,3,4,5,6,7,8,9,4,6,8,10...]


리스트 원소들에 연산을 할 수 있다.

a = [i*2 for i in range(10)]

>>> a
[0,2,4,6,8,10,12,14,16,18]




list()와 [ ]의 차이점

a = (1,2,3)
b = (4,5,6)

>>> list(a) + list(b)
[1,2,3,4,5,6]

>>> [a] + [b]
[(1,2,3), (4,5,6)]

list()함수는 tuple내의 원소들을 강제로 리스트 원소로 할당한다.

하지만 대괄호 [ ]은 새로운 리스트 메모리에 각 원소 객체의 주소를 가리키는 방식을 사용한다.
리스트표현식을 사용할 때는 대괄호를 이용한다.





댓글남기기