关于字典创建的问题
通过dict()函数中的关键字来创建字典:>>> d = dict(a = "97",b = "98",c = "99")
>>> d
{'a': '97', 'c': '99', 'b': '98'}
但是如果key的值是数字的话为什么就会报错呢?
>>> a = dict(1 = "97",2 = "98",3 = "99")
SyntaxError: keyword can't be an expression
翻译说是“语法错误:关键字不能是表达式”
上面的代码中关键字是1么?
如果是1的话为什么用别的方法创建就不会报错呢?
>>> s = 1,2,3
>>> a = dict.fromkeys(s)
>>> a
{1: None, 2: None, 3: None}
>>> dict1 = {1 : "97",2 : "98",3 : "99"}
>>> dict1
{1: '97', 2: '98', 3: '99'}
dict3 = dict(((1,"97"),(2,"98"),(3,"99")))
>>> dict3
{1: '97', 2: '98', 3: '99'} 这个问题很有趣啊
首先回答你,数字当然能作关键字
其次,回答为什么key的值是数字的话就会报错。你要思考一下'='是什么?
=是赋值运算符。
d = dict(a = "97",b = "98",c = "99")的原理是将名字与名字对应的值分别分配为键与值。
那么请问,1能使名字吗?你还记得起名字的要求吗?
如果明白了,请设为最佳答案。这个很有意思,我也是没想到有人这么尝试。 谁说数字不能当key的,当然可以,只是你的写法不对
正确写法应该是这样
b = {1:1,2:2,3:3}
print(b) Messj 发表于 2017-6-9 00:41
这个问题很有趣啊
首先回答你,数字当然能作关键字
谢谢,讲的很清楚。
页:
[1]