【发布时间】:2013-08-18 18:52:24
【问题描述】:
列表模板为:
EmployeeList = [u'<EmpId>', u'<Name>', u'<Doj>', u'<Salary>']
我想从这个转换
EmployeeList = [u'1001', u'Karick', u'14-12-2020', u'1$']
到这里:
EmployeeList = ['1001', 'Karick', '14-12-2020', '1$']
转换后,我实际上是在检查 EmployeeList.values() 中是否存在“1001”。
【问题讨论】:
-
这个问题的正确答案取决于如果您的输入包含非 ASCII 字符,您希望发生什么。如果您希望您的输入全是 ASCII,那么让转换引发异常可以防止您将
u'Kárick'静默转换为K\xc3\xa1rick(如果您不期望它肯定会导致下游问题)。 -
输入是动态的,有时可能包含非 ASCII 字符,试图找到处理 ASCII 和非 ASCII 输入的最佳解决方案。
-
为什么要这样做?只需检查
u"1001"。 -
为了放大@MarkTolonen,您的数据已经处于处理 Unicode 信息的最佳形式。与 C 类比,您可能想要获取
int的列表并将它们转换为short,并且您可能大部分时间都很好。当你击中一个大于空头的基准时,你只是给自己买了一个错误。 -
是的,您可能对输出要求是正确的。但我不确定在 [u
- ] 中评估 u{SearchString} 是否是一种最佳方法。因此想到将 unicode 列表转换为包含字符串的列表以与 {{SearchString}}
标签: python python-2.7 unicode encoding