如何在python中对单个变量分配单独的字典值(对循环不感兴趣)?

时间:2015-11-19 05:28:19

标签: python-3.x dictionary command python-idle

在我的程序中,我似乎无法将字典键/值对中的单个字符串值传递给普通的字符串变量。在我的程序中,我将各种命令行选项收集到字典中:

meta = {'作者':' John Smith','标题':' The Outcast','图书ID& #39;:' 123456' }

上述作品在我使用 print(meta)时会打印出来。我按上述方式设置上述每个条目:

作者='约翰史密斯'

meta [' author'] = author

没问题。请注意,我已成功填写字典。

然后,当我尝试以推荐的方式将此字典中的dict值分配给变量时,它总是会失败。例子:

打印(甲基['作者'])

无。

和...

auth = meta ['作者']

打印(AUTH)

字典get()方法也以同样的方式失败 - 也给出了None。我也尝试过str()来转换值对象,但这也不起作用。

现在奇怪而令人困惑的部分。当我在python IDLE环境中执行此操作时:

    >>> a = {'author':'John Smith', 'title':'The Outcast', 'book     id':'123456' }
    >>>print(a)
    >>>{'author':'John Smith', 'title':'The Outcast', 'book id':'123456' }
    >>>b = a
    >>>print b
    >>>{'author':'John Smith', 'title':'The Outcast', 'book id':'123456' }     

....它有效!!

为什么命令行中的python词典真正的编程环境在IDLE环境中表现得像字典?

所以有两个问题。首先,在我的程序中,如何将一个简单的字典字符串值分配给一系列存储的键/值字典项中的字符串变量。我对循环或生成器不感兴趣。我需要一个简单的字典方法或类似的方法:

author = meta [' author'](但这种方式似乎不起作用)

第二个问题。为什么python IDLE环境和命令行或真实编程环境(python.exe)之间的字典操作和功能有如此严重的不匹配?我对这种明显的差异感到非常震惊,因为许多pythoneers学习python并使用这个简单的IDLE IDE将被误导为真实程序中的字典行为。命令行环境中的字典行为和功能似乎与IDLE的行为完全不同。为什么?这是一个非常令人沮丧和令人失望的发现。

我在Windows 10上使用python 3.4。

0 个答案:

没有答案