我最近开始学习Python,并且陷入了我正在尝试的小项目中。 我有一个包含我的项目数据的数组,我想通过使用代码来链接它。
>>> keys = ['a', 'b', 'c']
>>> values = [1, 2, 3]
>>> dictionary = dict(zip(keys, values))
但是对于我的项目,我需要在我的values数组中使用日语字符。有没有一种方法可以在数组中使用我的日文字符?另外,如果我在使用unicode键入单词,我怎么能在字典中显示相当于unicode的单词 例如:
print(u'\4096')
会工作,但如果我打印整个字典
print (dictionary)
它不会显示我的日文字符。我怎么能解决这个问题?
额外:
另一个问题是我将第一个数组改为列表,因为它需要存储信息放在一起,是否有替代解决方案?
dictionary = dict(zip(file_content,japanese))
TypeError: unhashable type: 'list'
答案 0 :(得分:0)
Python有两种主要版本--Python2和Python3,它们之间的区别之一是它们如何处理Unicode。根据经验,你应该使用Python3,因为它是一种更好的语言,随着时间的推移越来越好。大多数大型图书馆都支持它。
在Python3中,这应该可行:
keys = ['a', 'b', 'c']
values = ['á', 'b', 'ç']
dictionary = dict(zip(keys, values))
print(dictionary) # {'a': 'á', 'b': 'b', 'c': 'ç'}
在Python2中,同样的事情应该有效,但你应该使用“Unicode”字符串,如下所示:
keys = ['a', 'b', 'c']
values = [u'á', u'b', u'ç']
dictionary = dict(zip(keys, values))
print(dictionary) # {'a': u'\xe1', 'c': u'\xe7', 'b': u'b'}
字符串可以正确存储您想要的unicode内容,由于打印功能的优点,它们不能很好地打印。但是,例如,如果你想要打印一个键,它就会弄明白并做正确的事情。
当您将输出写入文件或其他类型的流时,您将始终必须正确编码字符串。
This是对Python和字符串主题的一个很好的介绍。