Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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_List_Sequence - Fatal编程技术网

如何获取Python列表的片段以获得连续元素的组合?

如何获取Python列表的片段以获得连续元素的组合?,python,list,sequence,Python,List,Sequence,假设我有一张清单 l=['p4',p6',p7',p9'] 我想得到这样的输出,[['p4',p6'],['p6',p7'],['p7',p9']],顺序是必须的(我不想要元素的组合)。Python中有这样的函数吗?要获得一对连续的元素,请使用zip >>> list(zip(l, l[1:])) [('p4', 'p6'), ('p6', 'p7'), ('p7', 'p9')] 要将所有内部元素作为列表,请使用map >>> list(map(list,

假设我有一张清单

l=['p4',p6',p7',p9']


我想得到这样的输出,
[['p4',p6'],['p6',p7'],['p7',p9']]
,顺序是必须的(我不想要元素的组合)。Python中有这样的函数吗?

要获得一对连续的元素,请使用
zip

>>> list(zip(l, l[1:]))
[('p4', 'p6'), ('p6', 'p7'), ('p7', 'p9')]
要将所有内部元素作为列表,请使用
map

>>> list(map(list, zip(l, l[1:])))
[['p4', 'p6'], ['p6', 'p7'], ['p7', 'p9']]

你能添加更多的结果数据吗?为什么要重复两次['p4',p6'],这是故意的吗?
itertools
可能会解决你的问题。我不确定,因为您的问题陈述不清楚。@谢谢您指出,这是一个打字错误。我已更正了我的问题。我需要元素按原始顺序排列,而不是所有元素的组合。我已编辑了我的问题,因为它包含一个打字错误。更新了我的答案
l = ['p4', 'p6', 'p7', 'p8', 'p9']
finalList = []

for i in range(0, len(l)-1):
    tempList = [l[i], l[i+1]]
    finalList.append(tempList)

print(finalList)

>> [['p4', 'p6'], ['p6', 'p7'], ['p7', 'p8'], ['p8', 'p9']]