可能重复:
python:用最优雅的方式穿插列表一个元素
假设我有以下列表:
['a','b','c','d','e']
如何在此列表中的每个项目之间添加一个新项目(在本例中为 -),以便我的列表如下所示?
How can I append a new item (in this case a -) between each item in this list, so that my list will look like the following?
['a','-','b','-','c','-','d','-','e']
谢谢.
这是一个我希望非常快的解决方案——我相信所有这些操作都会以优化的 c 速度发生.
Here's a solution that I would expect to be very fast -- I believe all these operations will happen at optimized c speed.
def intersperse(lst, item):
result = [item] * (len(lst) * 2 - 1)
result[0::2] = lst
return result
测试:
>>> l = [1, 2, 3, 4, 5]
>>> intersperse(l, '-')
[1, '-', 2, '-', 3, '-', 4, '-', 5]
完成所有工作的行 result[0::2] = lst 使用 扩展切片和切片分配.第三个 step 参数告诉 python 将 lst 中的值分配给 l 中的每隔一个位置.
The line that does all the work, result[0::2] = lst, uses extended slicing and slice assignment. The third step parameter tells python to assign values from lst to every second position in l.
这篇关于在列表中已有的每个项目之间添加一个项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
列表字典中的总和值Sum values in a dict of lists(列表字典中的总和值)
如何在 Python 中对文本文件中的数字求和How to sum numbers from a text file in Python(如何在 Python 中对文本文件中的数字求和)
什么是类似于 sum() 的减法函数,用于减去列表中What is a subtraction function that is similar to sum() for subtracting items in list?(什么是类似于 sum() 的减法函数,用于减去列表中的
Python 等价于 sum() 使用 xor()Python equivalent of sum() using xor()(Python 等价于 sum() 使用 xor())
python中的求和矩阵列sum matrix columns in python(python中的求和矩阵列)
N个列表元素的总和pythonsum of N lists element-wise python(N个列表元素的总和python)