【问题标题】:Dictionary corrupt the name of the key [Python]字典损坏了键的名称 [Python]
【发布时间】:2014-10-04 00:49:20
【问题描述】:

我的问题是,当我使用重音输入时,字典会存储不同的键名,它会用字符代码替换重音字符。 我是新来的,我接受所有帮助。 感谢您的帮助!

#!/usr/bin/python
# -*- coding: utf-8 -*-

products={}
try:
    prodNum = int(raw_input(u"Hány terméket kíván felvenni a listába?\r\n"))
    count   = 0

    while (count < prodNum):
        prodName            = raw_input(u"Kérem üsse be a %d. termék nevét!\r\n" %(count + 1))
        encodedName = prodName.decode('utf8')
        print(encodedName)
        prodVal             = int(raw_input(u"Kérem üsse be a %d. termék darabszámát!\r\n" %(count + 1))) 

        products[encodedName]  = prodVal
        count               = count + 1
except ValueError:
    print (u"Ide egy számot kellett volna írni. :)\r\n")

print(products)

Output:
Hány terméket kíván felvenni a listába?
1
Kérem üsse be a 1. termék nevét!
Qpa Kóla
Qpa Kóla
Kérem üsse be a 1. termék darabszámát!
2
{u'Qpa K\xf3la': 2}

【问题讨论】:

    标签: python dictionary non-ascii-characters


    【解决方案1】:

    打印容器会打印内容的表示。没有错误,只是错误的期望。

    >>> print u'Qpa K\xf3la'
    Qpa Kóla
    >>> print repr(u'Qpa K\xf3la')
    u'Qpa K\xf3la'
    

    【讨论】:

    • 感谢您的帮助。你能告诉我,我怎样才能以重音格式打印字典的内容?
    • 我找到了解决方案:for key in products.iterkeys(): print key
    猜你喜欢
    • 1970-01-01
    • 2017-09-02
    • 2013-08-23
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2016-03-18
    相关资源
    最近更新 更多