Python 如何从Dictionary';s值
Python新手,整天都在为此绞尽脑汁 我正在使用emojis的unicode值 按预期打印unicode值:Python 如何从Dictionary';s值,python,python-3.x,unicode,emoji,python-unicode,Python,Python 3.x,Unicode,Emoji,Python Unicode,Python新手,整天都在为此绞尽脑汁 我正在使用emojis的unicode值 按预期打印unicode值: print("\U0001f600") 屈服 >>> str(r'\U' + r'\U'.join(emojiDictionary["#️⃣"][0])) - almost there, but you don't need str (it already is a string), you need ast.literal_eval: from ast impo
print("\U0001f600")
屈服
>>> str(r'\U' + r'\U'.join(emojiDictionary["#️⃣"][0]))
- almost there, but you don't need str
(it already is a string), you need ast.literal_eval
:
from ast import literal_eval
print(literal_eval(r'"\U' + r'\U'.join(emojiDictionary["#️⃣"][0])+'"'))
>str(r'\U'+r'\U'.join(emojiDictionary[)#️⃣"][0])
-差不多了,但您不需要str
(它已经是一个字符串),您需要ast.literal\u eval
:
>>> a = ['00000023', '0000FE0F', '000020E3'] # list of values
>>> b = [int(i, 16) for i in a] # convert them to integers, base 16 since they were hex strings
>>> b
[35, 65039, 8419]
>>> c = [chr(i) for i in b] # get the characters for them
>>> c
['#', '️', '⃣']
>>> print(''.join(c)) # join those characters
#️⃣
>>> print(''.join(chr(int(i, 16)) for i in a)) #concise
#️⃣
>>>
然而,主要的问题是为什么?你已经有了表情符号作为键,为什么不直接打印它呢?这整本表情词典是怎么回事?看起来值是一个以十六进制格式表示的32位数字列表。
这可能会帮你解决问题
你真是个天才,谢谢!这让我觉得我应该在几个小时前问你。我在这里玩了一些不同的东西,主要是为了学习。至于为什么我不打印字典键来检索表情符号——我遇到了一些问题,比如,当我打印一个由几个不同unicode值组成的表情符号时,它将分别打印每个值,而不是表情符号。这个问题似乎和这个问题一样难以解决,所以我想我只是选择了一个兔子洞。字典本身是基于情绪分析返回表情符号。大多数返回0.0,但有些不返回。另外,我也在玩基于其他值的返回。至于我为什么没有这样做他和我一样——我一个月前才开始学习,除了html、css和一些javascript之外没有任何经验,所以我和你在那个问题上一样迷茫。说真的,谢谢你的帮助!啊,你遇到了组合Unicode字符的问题。你可能对Unicode数据感兴趣。规范化函数。