alternately appending elements from two lists(交替附加两个列表中的元素)
本文介绍了交替附加两个列表中的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
I have three lists with elements :
a = [[0,1],[2,3],...]
b = [[5,6],[7,8],...]
c = []
I want to append elements from a and b into c to get:
c = [ [0,1],[5,6],[2,3],[7,8],.... ]
解决方案
Another very simple approach using string slicing (and most performance efficient) as:
>>> a = [[0,1],[2,3]]
>>> b = [[5,6],[7,8]]
>>> c = a + b # create a list with size = len(a) + len(b)
>>> c[::2], c[1::2] = a, b # alternately insert the value
>>> c
[[0, 1], [5, 6], [2, 3], [7, 8]]
Below is the comparison of results with timeit for the answers mentioned here (Python version: 2.7):
Using string slicing: 0.586 usec per loop
moin@moin-pc:~$ python -m "timeit" -s "a = [[0,1],[2,3]]; b = [[5,6],[7,8]];" "c = a + b; c[::2], c[1::2] = a, b" 1000000 loops, best of 3: 0.586 usec per loopUsing
itertools.chain(): 1.89 usec per loopmoin@moin-pc:~$ python -m "timeit" -s "from itertools import chain; a = [[0,1],[2,3]]; b = [[5,6],[7,8]];" "c = list(chain(*zip(a, b)))" 1000000 loops, best of 3: 1.89 usec per loopUsing
reduce(): 0.829 usec per loopmoin@moin-pc:~$ python -m "timeit" -s "import operator; a = [[0,1],[2,3]]; b = [[5,6],[7,8]];" "c = reduce(operator.concat, zip(a, b))" 1000000 loops, best of 3: 0.829 usec per loopUsing
list.extend(): 0.824 usec per loopmoin@moin-pc:~$ python -m "timeit" -s "a = [[0,1],[2,3]]; b = [[5,6],[7,8]]; c=[]" "for pair in zip(a,b): c.extend(pair)" 1000000 loops, best of 3: 0.824 usec per loopUsing
list.append()twice: 1.04 usec per loopmoin@moin-pc:~$ python -m "timeit" -s "a = [[0,1],[2,3]]; b = [[5,6],[7,8]]; c=[]" "for a_element, b_element in zip(a, b): c.append(a_element); c.append(b_element)" 1000000 loops, best of 3: 1.04 usec per loop
这篇关于交替附加两个列表中的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:交替附加两个列表中的元素
基础教程推荐
猜你喜欢
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- 包装空间模型 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
