将元组中的值从unicode转换为字符串的最佳方法是什么?当元组在列表中时,是否可以在不循环的情况下完成?
unicodedata.normalize('NKFD', x)
只能使用unicode,而不是元组。数据集还包括浮点值。
unicode_tuple_list = [(u'text in unicode', u'more unicode'), (u'more text in unicode', u'even more unicode')]
print type(unicode_tuple_list) # list - keep as list
print type(unicode_tuple_list[0]) # tuple - keep as tuple
print type(unicode_tuple_list[0][0]) # unicode
如何将所有这些值设为str
?
答案 0 :(得分:5)
我不确定是否有办法在不使用循环/列表理解的情况下转换它。
我会使用map
函数来完成此任务,请参阅:
unicode_tuple_list = [(u'text in unicode', u'more unicode'), (u'more text in unicode', u'even more unicode')]
string_tuple_list = [tuple(map(str,eachTuple)) for eachTuple in unicode_tuple_list]
print string_tuple_list
答案 1 :(得分:1)
解压缩元组,转换为字符串并重新打包。
答案 2 :(得分:0)
tuple(map(str, unicode_tuple_list))