您正在查看的输出repr()功能 https://docs.python.org/2/library/functions.html#repr,始终用于显示容器的内容。输出用于调试,而不是最终用户显示;任何不可打印的非 ASCII 代码点都由转义序列表示(根据代码点,它可以是单个字符转义,例如\t
or \n
,或使用 2、4 或 8 个十六进制数字,例如\xe5
, \u2603
or \U0001f4e2
).
您必须手动生成输出:
print u'[{}]'.format(u', '.join(nepali))
这会生成一个 unicode 字符串,其格式看起来像列表对象,但不使用repr()
,只需在字符串周围添加方括号,然后用', '
(逗号和空格)。
Demo:
>>> nepali = [u'\ufeff\u092f\u094b', u'\u0915\u093f\u0924\u093e\u092c', u'\u091f\u0947\u092c\u0941\u0932', u'\u092e\u093e', u'\u091b', u'\u092f\u094b', u'\u090f\u0915', u'\u0915\u093f\u0924\u093e\u092c', u'\u0939\u094b',]
>>> print u'[{}]'.format(u', '.join(nepali))
[यो, किताब, टेबुल, मा, छ, यो, एक, किताब, हो]
但是,如果您想向最终用户展示这一点,为什么要使用方括号呢?