coo*_*ron 6 python integer list python-2.7
对于Python 2.7专家(或发烧友)来说,这个问题无疑是一块蛋糕,所以在这里.
如何创建一个整数列表,其值的重复性与它的原始值相似?
a = list([0, 0, 1, 1, 2, 2, 3, 3, 4, 4])
Run Code Online (Sandbox Code Playgroud)
这样做真的很容易:
for i in range(10): a.append(int(i / 2))
Run Code Online (Sandbox Code Playgroud)
但我宁愿在一个简单的行中开始a = 期望的输出.
感谢您抽出宝贵时间回答.
PS.没有任何" 可能已经有你的答案的问题是我正在寻找的.
Vla*_*lad 11
>>> [i//2 for i in xrange(10)]
[0, 0, 1, 1, 2, 2, 3, 3, 4, 4]
Run Code Online (Sandbox Code Playgroud)
一个简单的通用方法:
>>> f = lambda rep, src: reduce(lambda l, e: l+rep*[e], src, [])
>>> f(2, xrange(5))
[0, 0, 1, 1, 2, 2, 3, 3, 4, 4]
>>> f(3, ['a', 'b'])
['a', 'a', 'a', 'b', 'b', 'b']
Run Code Online (Sandbox Code Playgroud)