다음과 같은 작업을 수행하여 생성 한 튜플을 풀고 싶습니다. 결과는 하나의 단순한리스트에 불과합니다. 나는 2 ~ 3 라인의 원하는 결과를 얻을 수 있지만 반드시 oneliner list.comp가 있습니까?파이썬리스트 이해, 풀기 및 다중 연산
y = [(i, sqrt(i), i**3, some_operation_on_i, f(i), g(i)) for i in x]
예 : 내가 할 수 있어야한다 : 내가 원하는 무엇
x = range(10)
y = [(i,j**2) for i,j in zip(x,x)]
>>>y
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64), (9
, 81)]
>>>
는
y = len(x)*[0]
y[::2] = x
y[1::2] = [i**2 for i in x]
내가 더 일반적인 경우 필요하면 내가 원하는하지만 부여 수행 result = [0,0,1,1,2,4,3,9.....]
입니다 결과와 같은 직선리스트를 얻으려면 어디에서 하나씩 작업 (사각형)을 지정해야합니까? 이제 각 i 다음에 임의의 수의 작업이 있습니다.
중첩 목록을 완전히 잊어 버렸습니다. 감사합니다. 이것을 받아들이는 것이 더 빠른 방법이며 list.comp에서 수행합니다. 나는 그것이 어색하다는 데 동의하지만, 나는 당 4-5 개 이상의 작업이 필요할 것이라고 생각하지 않는다. – arynaq