【问题标题】:invalid syntax (<string>)无效语法(<字符串>)
【发布时间】:2018-03-24 12:27:30
【问题描述】:
# create a mapping of state to abbreviation
states = [
    'Oregon': 'OR',
    'Florida': 'FL',
    'California': 'CA',
    'New York': 'NY',
    'Michigan': 'MI'
    ]

我正在向Learning Python The Hard Way 学习 Python。在本书的example 39 中,我输入了与上面所示相同的代码来创建字典,甚至复制并粘贴了它,但我收到了错误 E0001:invalid syntax (&lt;string&gt;, line 3) 指向:。出了什么问题?

【问题讨论】:

    标签: python python-2.7 syntax-error


    【解决方案1】:

    方括号 ([]) 用于 list 文字。在这种情况下,您应该创建一个 dict 文字(: 用于分隔冒号左侧的键和右侧的值),由大括号分隔(@987654328 @)。

    【讨论】:

    • 我把 ( [ ] ) 改成 ( { } ) 还是一样的错误
    • @AnkurSatpute:您要么在编辑后忘记保存,要么保存到错误的文件,或者犯了其他问题中未显示的错误。如果问题中的代码将[ 替换为{ 并将] 替换为},则它在语法上是有效的;我猜不出你还犯了什么错误。
    • @AnkurSatpute:当你使用括号时,: 是非法的,当你使用括号时,它是合法的。 SyntaxErrors 在解析器放弃的地方被提出,直到你到达冒号,没有任何问题。
    • 这是书中给出的代码的快照。 drive.google.com/file/d/1RXmc_5RPBp-4EVGMQHr7xkBvWwpP20aK/…
    • @AnkurSatpute:你的副本是错误的。别人excerpted the code correctly here,还有here;我无法解释为什么您的错误,而两年前的摘录是正确的。
    【解决方案2】:

    您想在字典中使用大括号

    states = {
        'Oregon'    : 'OR',
        'Florida'   : 'FL',
        'California': 'CA',
        'New York'  : 'NY',
        'Michigan'  : 'MI'
        }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多