理解普通和unicode字符串上的str.translate()

时间:2015-02-22 20:07:17

标签: python

strings = [word.translate(table) for word in strings]

strings包含普通字符和unicode字符,因此当它迭代普通字符串时,我会收到错误。是否有一种简洁的方法使这段代码按预期工作,或者我必须编写一个函数来检查和执行正确的str.translate()?

1 个答案:

答案 0 :(得分:1)

始终使用一种类型的字符串;如果您的str值仅包含ASCII,只需将其转换为unicode;将unicode转换为unicode是免费操作,您可以在这两种类型上使用unicode()

strings = [unicode(word).translate(table) for word in strings]