>> s '\xc3\xa4\xc3\xa5\xc3\xb6' >>> print s-6ren">
gpt4 book ai didi

python - 打印没有转义字符的 unicode 字符列表

转载 作者:太空狗 更新时间:2023-10-29 20:38:52 27 4
gpt4 key购买 nike

如果你有如下字符串,带有 unicode 字符,你可以打印它,并得到未转义的版本:

>>> s = "äåö"
>>> s
'\xc3\xa4\xc3\xa5\xc3\xb6'
>>> print s
äåö

但是如果我们有一个包含上面字符串的列表并打印它:

>>> s = ['äåö']
>>> s
['\xc3\xa4\xc3\xa5\xc3\xb6']
>>> print s
['\xc3\xa4\xc3\xa5\xc3\xb6']

您仍然会得到转义字符序列。你如何去获得未转义的列表的内容,这可能吗?像这样:

>>> print s
['äåö']

此外,如果字符串是 unicode 类型,您如何执行与上述相同的操作?

>>> s = u'åäö'
>>> s
u'\xe5\xe4\xf6'
>>> print s
åäö
>>> s = [u'åäö']
>>> s
[u'\xe5\xe4\xf6']
>>> print s
[u'\xe5\xe4\xf6']

最佳答案

当你打印一个字符串时,你会得到对象的 __str__ 方法的输出——在本例中是不带引号的字符串。列表的__str__方法不同,它创建一个包含开始和结束的字符串[]__repr__方法产生的字符串包含在其中的每个对象。您看到的是 __str____repr__ 之间的区别。

您可以构建自己的字符串:

print '[' + ','.join("'" + str(x) + "'" for x in s) + ']'

此版本应该适用于 Python 2 中的 Unicode 和字节字符串:

print u'[' + u','.join(u"'" + unicode(x) + u"'" for x in s) + u']'

关于python - 打印没有转义字符的 unicode 字符列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16798811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com