在Python中,如何用一行代码创建一个n字符的字符串?
我想在Python中生成一个包含n个字符的字符串。有没有一种一行代码就能用现有的Python库实现这个功能的方法?比如,我需要一个包含10个字母的字符串:
string_val = 'abcdefghij'
6 个回答
9
如果你只想要任意字母:
'a'*10 # gives 'aaaaaaaaaa'
如果你想要连续的字母(最多26个):
''.join(['%c' % x for x in range(97, 97+10)]) # gives 'abcdefghij'
15
前十个小写字母是 string.lowercase[:10]
(当然前提是你已经导入了标准库模块 string
;-)。
还有其他方法可以“生成一个10个字符的字符串”:比如 'x'*10
(这样生成的十个字符都是小写的 x
;-),还有 ''.join(chr(ord('a')+i) for i in xrange(10))
(这又是前十个小写字母),等等等等;-)。
426
如果你想简单地把同一个字母重复10次,可以这样做:
string_val = "x" * 10 # gives you "xxxxxxxxxx"
如果你想要更复杂一点的,比如生成
from random import choice
from string import ascii_lowercase
n = 10
string_val = "".join(choice(ascii_lowercase) for i in range(n))