以前一定是这个问题,但我恐怕找不到答案.
在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
>>> list(map('s{}'.format, range(1, 11)))
['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10']
Run Code Online (Sandbox Code Playgroud)
cdyson37的答案是最蟒蛇的; 当然你仍然可以使用range而不是xrange在你的情况下.
在Python2中,您还可以更加强调功能样式,例如:
map(lambda x: "s"+str(x), range(1,11))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9533 次 |
| 最近记录: |