python - 如何复制列表中的项目(保留第一个和最后一个项目)并将列表转换为两个项目的列表列表

标签 python python-3.x numpy

我有一个列表 = [1,2,3,4,5,1],我想复制索引 0 到 -1 之间的项目。这样

duplicate_list = [1,2,2,3,3,4,4,5,5,1]

然后,将其转换为包含 2 个项目的列表列表,

list_lists = [(1,2),(2,3),(3,4),(4,5),(5,1)] 

怎么做?

最佳答案

使用numpy,您可以column_stack lst[:-1](删除最后一个元素的原始列表)和lst [1:](删除第一个元素的原始列表):

lst = [1,2,3,4,5,1]
np.column_stack((lst[:-1], lst[1:]))

#array([[1, 2],
#       [2, 3],
#       [3, 4],
#       [4, 5],
#       [5, 1]])

或者普通列表,你可以使用zip:

list(zip(lst[:-1], lst[1:]))
# [(1, 2), (2, 3), (3, 4), (4, 5), (5, 1)]

关于python - 如何复制列表中的项目(保留第一个和最后一个项目)并将列表转换为两个项目的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47542508/

相关文章:

python - View 中的 DJANGO 回调函数

python - 如何在一系列箱形图中的箱形图旁边显示数值平均值和标准值?

python - 有没有一种使用范围创建元组列表的有效方法?

python - numpy矩阵未完全转置

python 函数中的逐元素运算

python - Flask-Restful 可以接受不区分大小写的参数名称吗?

python - 使用 python 每 x 行处理一个文件 block

使用 kwargs 时的 Python 2 和 3 元类兼容性

python - 根据其他行中其他列的匹配值更新列的 NULL 填充行

python - ndarray.调整大小: passing the correct value for the refcheck argument