Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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_R - Fatal编程技术网

Python上的连接向量字符串

Python上的连接向量字符串,python,r,Python,R,在R中,我可以使用粘贴将字符串向量连接在一起: 如何在Python中实现同样的功能?您自己的函数如何: def f(*args): return '-'.join([str(a) for a in args]) 然后是地图 或者为了好玩和任何价值观: map(lambda *args: '-'.join(map(str, args), a, b, c) R中的矢量化操作可以通过或内置函数在Python中进行近似 这里,我们使用对三个列表进行并行迭代 a = range(1,4) b

在R中,我可以使用粘贴将字符串向量连接在一起:


如何在Python中实现同样的功能?

您自己的函数如何:

def f(*args):
    return '-'.join([str(a) for a in args])
然后是地图

或者为了好玩和任何价值观:

map(lambda *args: '-'.join(map(str, args), a, b, c)

R中的矢量化操作可以通过或内置函数在Python中进行近似

这里,我们使用对三个列表进行并行迭代

a = range(1,4)
b = range(4,7)
c = range(7,10)
together = ['-'.join(str(i) for i in z) for z in zip(a,b,c)]
输出:

>>> together
['1-4-7', '2-5-8', '3-6-9']

上面代码中的一个微妙之处是join的参数是a,这意味着它的计算是惰性的。更懒惰的是,从软件包中替换为。

添加一行,假设有3个元素列表

l1 = range(1,4)
l2 = range(4,7)
l3 = range(7,10)

map(lambda x,y,z: '%s-%s-%s' % (x,y,z), l1, l2,l3)
编辑:

zipa,b,c迭代a[0],b[0],c[0],a[1],b[1],c[1]等等。在zipa,b,c中,我们可以使用*代替['{}-{}-{}'.格式x,y,z表示x,y,z,z,如上所述

>>> together
['1-4-7', '2-5-8', '3-6-9']
l1 = range(1,4)
l2 = range(4,7)
l3 = range(7,10)

map(lambda x,y,z: '%s-%s-%s' % (x,y,z), l1, l2,l3)
a = range(1,4)
b = range(4,7)
c = range(7,10)

together = ['{}-{}-{}'.format(*x) for x in zip(a, b, c)]