在Python中,如何用一行代码创建一个n字符的字符串?

214 投票
6 回答
280541 浏览
提问于 2025-04-15 14:20

我想在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))

撰写回答