sid*_*der 20 python list insert
可能重复:
python:使用元素散布列表的最优雅方式
假设我有以下列表:
['a','b','c','d','e']
Run Code Online (Sandbox Code Playgroud)
如何-在此列表中的每个项目之间添加新项目(在本例中为a ),以便我的列表如下所示?
['a','-','b','-','c','-','d','-','e']
Run Code Online (Sandbox Code Playgroud)
谢谢.
sen*_*rle 23
这是一个我希望非常快的解决方案 - 我相信所有这些操作都将以优化的c速度发生.
def intersperse(lst, item):
result = [item] * (len(lst) * 2 - 1)
result[0::2] = lst
return result
Run Code Online (Sandbox Code Playgroud)
测试:
>>> l = [1, 2, 3, 4, 5]
>>> intersperse(l, '-')
[1, '-', 2, '-', 3, '-', 4, '-', 5]
Run Code Online (Sandbox Code Playgroud)
jon*_*esy 18
>>> list('-'.join(ls))
['a', '-', 'b', '-', 'c', '-', 'd', '-', 'e']
>>>
Run Code Online (Sandbox Code Playgroud)
list = ['a', 'b', 'c', 'd', 'e']
result = []
for e in list:
result.append(e)
result.append('-')
result.pop()
Run Code Online (Sandbox Code Playgroud)
似乎工作
这适用于任何列表元素:
>>> sep = '-'
>>> ls = [1, 2, 13, 14]
>>> sum([[i, '-'] for i in ls], [])[:-1]
[1, '-', 2, '-', 13, '-', 14]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21079 次 |
| 最近记录: |