python - Python Dictionary Object: SyntaxError: expression cannot contain assignment,也许你的意思是“==”?
问题描述
我正在创建一个字典对象,它是在我使用“语句 1”时创建的,但是在尝试使用与“语句 2”相同的键和值创建字典对象时收到错误消息。
声明 1:
dmap = {0: 'Mon', 1: 'Tue', 2: 'Wed', 3: 'Thu',
4: 'Fri', 5: 'Sat', 6: 'Sun'}
声明 2:
dmap = dict(0='Mon', 1='Tue', 2='Wed', 3='Thu',
4='Fri', 5='Sat', 6='Sun'
错误信息:
File "<stdin>", line 1
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
有人能告诉我,为什么我可以使用语句 1 创建带有整数键的字典,但不能使用语句 2?
编辑 使用语句 2 的更新版本,我可以使用以下代码创建字典对象:
dmap = dict(day_0='Mon', day_1='Tue', day_2='Wed',
day_3='Thu', day_4='Fri', day_5='Sat', day_6='Sun')
解决方案
您的困惑可能来自您可以编写以下内容的事实:
d = dict(spam=1, eggs=2)
这使用了一种称为“关键字参数”的功能,并且仅在键是字符串时才有效。因此,您的示例不起作用,因为键是整数。
推荐阅读
- swiftui - SwiftUI:没有在 DropDelegate 中删除 NSString 值
- smali - 伙计们,当我编辑一个 smali 文件时,我更改了启动应用程序时要在弹出窗口中显示的文本,但文本不显示,但弹出窗口仍然出现
- ssis - 我的ssis包被sql代理运行慢,你有遇到过这个问题吗?
- atom-editor - 显示当前函数原型或其手册页的 Atom 包
- curl - 从groovy运行curl时的输出被发送到错误而不是stdout(进程)?
- python - Python和Matplotlib,如何添加多个窗口?
- reactjs - 侧边栏菜单由它自己呈现
- javascript - 如何解决 Javascript 中的“Uncaught TypeError: Object must be an instance of class”错误?
- python - 2个图之间的Python matplotlib交集以仅获取其中一个图的颜色
- python-3.x - 使用正则表达式提取一些日期