Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/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_List - Fatal编程技术网

Python将列表的第一个元素与其余元素压缩在一起

Python将列表的第一个元素与其余元素压缩在一起,python,list,Python,List,我有一张单子 mylist = [(0,0,0),(1,1,1),(2,2,2),(3,3,3)] 我希望找到一种代码保存方法,将第一个元素mylist[0]与列表元素的其余部分mylist[1://code>压缩,以获得一个新列表,如下所示: [((0,0,0),(1,1,1)),((0,0,0),(2,2,2)),((0,0,0),(3,3,3))] 使用zip: >>> mylist = [(0,0,0),(1,1,1),(2,2,2),(3,3,3)] >&g

我有一张单子

mylist = [(0,0,0),(1,1,1),(2,2,2),(3,3,3)]
我希望找到一种代码保存方法,将第一个元素
mylist[0]
与列表元素的其余部分
mylist[1://code>压缩,以获得一个新列表,如下所示:

[((0,0,0),(1,1,1)),((0,0,0),(2,2,2)),((0,0,0),(3,3,3))]

使用
zip

>>> mylist = [(0,0,0),(1,1,1),(2,2,2),(3,3,3)]
>>> zip([mylist[0]]*(len(mylist)-1), mylist[1:])
[((0, 0, 0), (1, 1, 1)), ((0, 0, 0), (2, 2, 2)), ((0, 0, 0), (3, 3, 3))]
列表理解更简单:

>>> [ (mylist[0], sublist) for sublist in mylist[1:] ]
[((0, 0, 0), (1, 1, 1)), ((0, 0, 0), (2, 2, 2)), ((0, 0, 0), (3, 3, 3))]

我认为这里没有必要使用
zip
。A很好:

>>> mylist = [(0,0,0),(1,1,1),(2,2,2),(3,3,3)]
>>> [(mylist[0], x) for x in mylist[1:]]
[((0, 0, 0), (1, 1, 1)), ((0, 0, 0), (2, 2, 2)), ((0, 0, 0), (3, 3, 3))]
>>>
使用地图:

map(lambda x:(mylist[0],x),mylist[1:])
输出:

[((0, 0, 0), (1, 1, 1)), ((0, 0, 0), (2, 2, 2)), ((0, 0, 0), (3, 3, 3))]

+1但是地图只是理解的一半,有一个笨拙的lambda。我不知道你为什么要这么做。我检查了编辑历史,以确保你没有为了额外的学分而狙击iCodez。你没有+1.