Python中数字向量的R's paste命令的等价物

tsa*_*lis 10 python string r

以前一定是这个问题,但我恐怕找不到答案.

在R中,我可以写

paste0('s', 1:10)
Run Code Online (Sandbox Code Playgroud)

返回10个字符(字符串)变量的列表:

[1] "s1"  "s2"  "s3"  "s4"  "s5"  "s6"  "s7"  "s8"  "s9"  "s10"
Run Code Online (Sandbox Code Playgroud)

我如何在Python中完成此操作?我能想到的唯一方法是使用for循环,但必须有一个简单的单行.

我尝试过类似的东西

's' + str(np.arange(10))
['s', str(np.arange(10))]
Run Code Online (Sandbox Code Playgroud)

cdy*_*n37 18

>>> ["s" + str(i) for i in xrange(1,11)]
['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10']
Run Code Online (Sandbox Code Playgroud)

编辑:range适用于Python 2和Python 3,但在Python 2 xrange中可能更有效(它是一个生成器而不是列表).Thansk @ytu


jam*_*lak 8

>>> list(map('s{}'.format, range(1, 11)))
['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10']
Run Code Online (Sandbox Code Playgroud)


Tho*_*hel 6

cdyson37的答案是最蟒蛇的; 当然你仍然可以使用range而不是xrange在你的情况下.

在Python2中,您还可以更加强调功能样式,例如:

map(lambda x: "s"+str(x), range(1,11))
Run Code Online (Sandbox Code Playgroud)