【问题标题】:How to assign int as a key using function dict()?如何使用函数 dict() 将 int 分配为键?
【发布时间】:2020-05-01 08:07:02
【问题描述】:

我三天前开始学习 python,我想在字典中分配一个数字或整数作为我的键,但我得到一个错误

     a= dict(1=one,2=two)

但它给了我#syntax error:expression cannot contain assignment (pointing at int 1)

但是当我这样做时

    b=dict(one=1,two=2)

效果很好

我知道使用的替代方法

    a={1:'one',2:'two'}

但这太费时间了,我想知道第一个错误是什么

【问题讨论】:

  • 词典作业中的“耗时”是什么意思?
  • 等号左侧不能有数字。几乎所有编程语言都是这种情况。在您的情况下,您必须使用带有花括号的文字语法。
  • 你提到的替代方案是错误的,它必须是 a= {1:'one',2:'two'},没有“dict”。
  • 你不能以你想要的方式,关键字参数必须是有效的python标识符。您必须传递一个可迭代的对,但此时,您不妨使用文字。

标签: python dictionary key


【解决方案1】:

你不能用 dict 构造函数来做,因为它只接收有效的 Python 标识符(数值不是)。

你可以试试:

dict([(1,"one"),(2,"two")])

【讨论】:

    【解决方案2】:

    这是逻辑:分配只能以一种方式工作。 1 = myvar 不起作用,但 myvar = 1 会。在这里,你说 1=one... 它不起作用!但是当你反转它时,一 = 1,它会起作用。所以你自己找到了答案;)

    【讨论】:

      【解决方案3】:

      a= dict(1=one,2=two)

      这种类型的字典构造函数只接受作为有效 Python 标识符的键。规则之一:标识符不能以数字开头。

      但你可以使用其他版本的构造函数,例如:

      a = dict([(1, one), (2, two)])
      

      【讨论】:

      • 您应该定义one 和two 或将它们作为字符串传递。
      猜你喜欢
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2021-11-02
      • 1970-01-01
      相关资源
      最近更新 更多