Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 嵌套列表的两个切片_Python - Fatal编程技术网

Python 嵌套列表的两个切片

Python 嵌套列表的两个切片,python,Python,有一个嵌套列表[[1,1]、[2,2]、[3,3]、[4,4]] 我想把这个列表重复三次。我属于[0,3],j=I-1,k=I-2 例如: slice 1: [3, 3], [4, 4] slice 2: [2, 2], [3, 3] slice 3: [1, 1], [2, 2] 我怎么做 使用,您可以创建如下输出: 代码: 测试代码: 如果你想从中得到口述: new_data = {'slice_{}'.format(i): d for i, d in

有一个嵌套列表[[1,1]、[2,2]、[3,3]、[4,4]]

我想把这个列表重复三次。我属于[0,3],j=I-1,k=I-2

例如:

     slice 1: [3, 3], [4, 4]
     slice 2: [2, 2], [3, 3]
     slice 3: [1, 1], [2, 2]
我怎么做

使用,您可以创建如下输出:

代码: 测试代码: 如果你想从中得到口述:

new_data = {'slice_{}'.format(i): d for i, d in
            enumerate(zip(reversed(data[:-1]), reversed(data)), 1)}
print(new_data)
结果: 您可以尝试以下方法:

s = [[1, 1], [2, 2], [3, 3], [4,4]]
new_s = {"slice {}".format(len(s)-i-1):[s[i], s[i+1]] for i in range(len(s)-1)}
输出:

{'slice 1': [[3, 3], [4, 4]], 'slice 3': [[1, 1], [2, 2]], 'slice 2': [[2, 2], [3, 3]]}

您能否澄清如何确定哪些元素应显示在哪一行上?
j
k
是关于什么的?欢迎来到SO。不幸的是,这不是一个讨论论坛或教程服务。请花点时间阅读该页面上的链接和其他链接。你应该花一些时间来练习这些例子。它将向您介绍Python提供的工具,您甚至可以开始想出解决问题的方法。您可以通过反转所有内容来摆脱其中一个
反向调用:)
new_data=list(反向(zip(data,data[:-1]))
@chepner,
TypeError:'zip'对象是不可逆的
您需要一个额外的
列表
包装器用于Python 3<代码>新建数据=列表(反向(列表(zip…))
。(不可否认,这让它变得不那么令人兴奋。)但你最终会建立一个额外的列表。隐马尔可夫模型。。这么多的可能性。感谢您的反馈。根据OP的需要,可能不需要外部列表,例如,x的
,y的反向(列表(zip(数据,数据[:-1]))
。最佳答案取决于实际需要什么。有点恼人的是,
reversed
不能与任意迭代器一起工作,尽管原则上我知道它不能工作的原因。
[([3, 3], [4, 4]), ([2, 2], [3, 3]), ([1, 1], [2, 2])]

{'slice_1': ([3, 3], [4, 4]), 'slice_2': ([2, 2], [3, 3]), 'slice_3': ([1, 1], [2, 2])}
s = [[1, 1], [2, 2], [3, 3], [4,4]]
new_s = {"slice {}".format(len(s)-i-1):[s[i], s[i+1]] for i in range(len(s)-1)}
{'slice 1': [[3, 3], [4, 4]], 'slice 3': [[1, 1], [2, 2]], 'slice 2': [[2, 2], [3, 3]]}