如何在Python中迭代Unicode字符串?

时间:2016-03-16 06:05:21

标签: python string unicode

我有一个字符串,我想为它添加唯一的非ASCII字符。我需要在循环中执行它,因为我可能需要添加多个。问题是我不知道如何在循环中构造一个合适的Unicode字符串。

例如,我想在我的字符串中添加\u2713\u2714\u2715等。我不知道该怎么做。

s = 'ABCD'

for j in range(10):        
    s = s + u'\u2713'
    #s = s + (u'\u2713' + j) # This doesn't work

print s

1 个答案:

答案 0 :(得分:4)

您可以使用unichr(Python 3.x中的chr)将int转换为unicode字符串:

s = 'ABCD'

for i in range(10):
    s += unichr(0x2713 + i)

print s

打印ABCD✓✔✕✖✗✘✙✚✛✜

您可以使用str.join(或unicode.join)代替附加字符:

s = 'ABCD' + u''.join(unichr(0x2713 + i) for i in range(10))

OR

s = 'ABCD' + u''.join(unichr(ch) for ch in range(0x2713, 0x271d))

OR

s = 'ABCD' + u''.join(map(unichr, range(0x2713, 0x271d)))