【发布时间】:2017-12-25 16:07:02
【问题描述】:
我有一个这样的列表
d=[{u'Length': u'2.96m', u'Width': u'1.44m', u'height': u'0.38m'},
{u'Length': u'3.8m', u'Width': u'0.65m', u'height': u'9.3m'},
{u'Length': u'0.62m', u'Width': u'2.9m', u'height': u'3.5m'}]
我想要一种简单的方法来从此列表中删除 unicode 'u' 以创建一个新列表。这里的“简单方法”是在不导入外部模块或将其保存在外部文件中的情况下删除 unicode。
这是我尝试过的五种方法
def to_utf8(d):
if type(d) is dict:
result = {}
for key, value in d.items():
result[to_utf8(key)] = to_utf8(value)
elif type(d) is unicode:
return d.encode('utf8')
else:
return d
#these three returns AttributeError: 'list' object has no attribute 'encode'
d.encode('utf-8')
d.encode('ascii')
d.encode("ascii","replace")
#output the same
to_utf8(d)
print str(d)
前三个回报
AttributeError: 'list' 对象没有属性 'encode'
最后两个打印相同的结果。我应该如何删除 unicode 'u'?
【问题讨论】:
-
使用 str() 函数将其转换为字符串。
-
@JayParikh 尝试了一些工作
-
@Eka 它有效。看我的回答。
标签: python list dictionary unicode