Computer/Python

nested list comprehesion in python

hexists 2015. 1. 10. 07:34

파이썬에서 리스트를 사용할 때, list comprehesion을 통해서 표현하곤 한다.


예를 들자면...


for x in range(10)

     count(x)


이것을 list comprehension으로 표현하면...


[count(x) for x in range(10)]


이런 식으로 표현을 하는 것인데...


중첩 리스트를 어떻게 표현해야 하나 헷갈리는 경우가 많다.(나는... 그렇다.)


중첩 리스트(nested list)는 다음과 같이 표현하면 된다.


for i in range(10):

    for j in range(i):

        count(i, j)


=>


[[count(i, j) for j in range(i)] for i in range(i)]


혹시 if문을 쓰고 싶다면...


[[count(i, j) for j in range(i) if i > 5] for i in range(i)]



이런식으로 사용하면 된다.

오케이3


참고 : http://stackoverflow.com/questions/18072759/python-nested-list-comprehension