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