为什么" dict(Runoob = 1,Google = 2,Taobao = 3)"将在" dict(1 = 1,2 = 2,3 = 3)"不是在python?

时间:2017-04-11 08:50:03

标签: python dictionary

我只写下面的代码:

B

但是得到了以下编译错误:

  

test = dict(1 = 1,2 = 2,3 = 3)            ^ SyntaxError:关键字不能是表达式

像这样的代码将成功编译:

<div class="row">
  <div class="col-md-3">
  </div>
  <div class="col-md-3">
  </div>
  <div class="col-md-6">
  </div>
  <div class="col-md-6">
  </div>
  <div class="col-md-3">
  </div>
  <div class="col-md-3">
  </div>
</div>

为什么?

2 个答案:

答案 0 :(得分:4)

如果键是有效的python标识符,则此语法有效。

对于类似数字的键,您不能这样做。替代方法:

>>> test={'1':1,'2':2,'3':3}
>>> test
{'1': 1, '2': 2, '3': 3}

答案 1 :(得分:2)

您不能通过字典构造函数使用数字键。这是因为构造函数dict()使用关键字参数来表示键值对。关键字必须是有效的python标识符,因此此处不允许使用数值。

但你仍然可以这样做:

a = {1: 1, 2: 2, 3: 3}