python list comprehension to produce two values in one iteration

后端 未结 12 1985
刺人心
刺人心 2021-02-03 17:20

I want to generate a list in python as follows -

[1, 1, 2, 4, 3, 9, 4, 16, 5, 25 .....]

You would have figured out, it is nothing but n,

12条回答
  •  时光取名叫无心
    2021-02-03 17:51

    Another option, might seem perverse to some

    >>> from itertools import izip, tee
    >>> g = xrange(1, 11)
    >>> x, y = tee(g)
    >>> y = (i**2 for i in y)
    >>> z = izip(x, y)
    >>> output = []
    >>> for k in z:
    ...     output.extend(k)
    ... 
    >>> print output
    [1, 1, 2, 4, 3, 9, 4, 16, 5, 25, 6, 36, 7, 49, 8, 64, 9, 81, 10, 100]
    

提交回复
热议问题