Duplicate elements in a list

前端 未结 6 1102
滥情空心
滥情空心 2020-12-10 02:28

I have a list in Python:

l = [\'a\', \'c\', \'e\', \'b\']

I want to duplicate each element immediately next to the original.

6条回答
  •  温柔的废话
    2020-12-10 02:59

    import itertools
    
    ll = list(itertools.chain.from_iterable((e, e) for e in l))
    

    At work:

    >>> import itertools
    >>> l = ['a', 'c', 'e', 'b']
    >>> ll = list(itertools.chain.from_iterable((e, e) for e in l))
    >>> ll
    ['a', 'a', 'c', 'c', 'e', 'e', 'b', 'b']
    

    As Lattyware pointed out, in case you want more than just double the element:

    from itertools import chain, repeat
    
    ll = list(chain.from_iterable(repeat(e, 2) for e in l))
    

提交回复
热议问题