Python创建字典触发E0001语法错误,报错指向冒号,求原因
问题分析与解决
嘿,这个语法错误我刚学Python的时候也踩过一模一样的坑!
你遇到的问题核心是用错了数据结构的符号:
- 你想用方括号
[]来创建州名到缩写的映射,但Python里这种键值对形式的映射是字典(Dictionary),必须用大括号{}来定义,而不是列表的方括号。 - 列表
[]是用来存储有序的、可重复的单个元素集合,里面不能出现键: 值这种冒号分隔的写法,所以解释器会在冒号位置抛出语法错误。
错误代码(你的写法)
# create a mapping of state to abbreviation states = [ 'Oregon': 'OR', 'Florida': 'FL', 'California': 'CA', 'New York': 'NY', 'Michigan': 'MI' ]
正确代码(修改后)
# create a mapping of state to abbreviation states = { 'Oregon': 'OR', 'Florida': 'FL', 'California': 'CA', 'New York': 'NY', 'Michigan': 'MI' }
简单来说:列表用[],存的是单个元素;字典用{},存的是键: 值的映射对。把方括号换成大括号,你的代码就能正常运行啦!
内容的提问来源于stack exchange,提问作者Anki
相关产品推荐
相关产品推荐

