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,我有两个列表,我想创建一个包含其数据的列表 ls1 = ["1","2","3","4"] ls2 = ["4","3","2","1"] 我要找的答案是这样的 ls3 = ["1-4","2-3","3-2","4-1"] 有没有可能做到这一点?注意数字之间的负号。因此@aesthete的答案是正确的。我只想补充一点解释 >>> ls3 = ['-'.join(x) for x in zip(ls1, ls2)] ['1-4', '2-3', '3-2', '4-1']

我有两个列表,我想创建一个包含其数据的列表

ls1 = ["1","2","3","4"]

ls2 = ["4","3","2","1"]
我要找的答案是这样的

ls3 = ["1-4","2-3","3-2","4-1"]

有没有可能做到这一点?注意数字之间的负号。

因此@aesthete的答案是正确的。我只想补充一点解释

>>> ls3 = ['-'.join(x) for x in zip(ls1, ls2)]
['1-4', '2-3', '3-2', '4-1']
>>> ls3 = ['-'.join(x) for x in zip(ls1, ls2)]
['1-4', '2-3', '3-2', '4-1']
[someactionx for x in somelist]将返回一个列表,其中每个元素都是在somelist中对应的x上执行的someaction。这称为列表理解

在本例中,somelist是zipls1,ls2,它创建[ls1[0],ls2[0],ls1[1],ls2[1],…]

所以zipls1,ls2返回['1','4','2','3','3','2','4','1']

someaction是'-',join的作用是获取一个可编辑的字符串序列,并将它们与中间的字符串'-'连接在一起。所以你可以做'to'.joinx来得到['1到4','2到3',…]

使用地图:

>>> map("{}-{}".format,ls1,ls2)
['1-4', '2-3', '3-2', '4-1']
使用itertools.strmap:

>>> list(itertools.starmap("{}-{}".format,zip(ls1,ls2)))
['1-4', '2-3', '3-2', '4-1']

你为什么要这么做?这很有创意。地图{}-{}。格式,ls1,ls2会让这个想法看起来很好。这是一个很好的列表工具。星图{}-{}。格式,zipls1,ls2['1-4','2-3','3-2','4-1']我从来没有发现星图在我的生活中有很好的用途,我也不认为这是一个很好的用途
>>> list(itertools.starmap("{}-{}".format,zip(ls1,ls2)))
['1-4', '2-3', '3-2', '4-1']