【发布时间】:2017-01-20 12:00:02
【问题描述】:
假设我有列表
l = ['a', 'c', 'b']
而我想要的是一个列表,其中这些元素一个接一个地出现两次,所以
['a', 'a', 'c', 'c', 'b', 'b']
我想以最 Pythonic 的方式做到这一点。
我的半解决方案是做类似的事情
[[l[i], l[i]] for i in range(len(l))]
产生
[['a', 'a'], ['c', 'c'], ['b', 'b']]
从这里开始,我必须解析(遍历)列表以删除内部列表并获取单个平面列表。
有谁有更好的办法一次性做到这一点?显然,l * 2 之类的东西无济于事,因为它提供了['a', 'c', 'b', 'a', 'c', 'b'],我希望相同的元素相邻。
【问题讨论】:
标签: python list list-comprehension