【问题标题】:How to iterate a Unicode string in Python?如何在 Python 中迭代 Unicode 字符串?
【发布时间】:2016-03-16 06:05:20
【问题描述】:

我有一个字符串,我想向它添加唯一的非 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

【问题讨论】:

标签: python string unicode


【解决方案1】:

您可以使用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))

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

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

【讨论】:

    猜你喜欢
    • 2011-11-21
    • 2018-03-24
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2015-11-28
    相关资源
    最近更新 更多