我需要创建一个像
这样的字典d1={u'apple':True}
但我在字符串中写了“苹果” 问题是,如果我写
>>> d1={}
>>> d[u'apple']=True
有效 但如果我写
>>> d1={}
>>> str="apple"
然后如何在开头添加的unicode str
中插入u
?
答案 0 :(得分:3)
在Python3中你是苹果'和" apple"是相同的。在Python2中,两者的行为都相同。
>>> "apple"==u"apple"
True
如果需要在字节字符串和unicode字符串之间进行转换,请使用decode:
"apple".decode('utf8')
答案 1 :(得分:2)
你可以这样做:
>>> d = {}
>>> str_ = "apple"
>>> d[str_.decode('ascii')] = True
>>> d
{u'apple': True}
但我的问题是为什么要打扰?因为在python 2.x中,你有
"apple" == u"apple"
这意味着无论您拥有unicode对象还是bytes对象,dict查找/插入/删除都将完全相同。所以这并不重要。
类比是使用带有整数0
或浮点0.
的dict键,它实际上没有任何区别用作键。