Python 如何使用函数dict()将int指定为键?

Python 如何使用函数dict()将int指定为键?,python,dictionary,key,Python,Dictionary,Key,我三天前开始学习python,我想在字典中指定一个数字或一个整数作为我的键,但我遇到了一个错误 a= dict(1=one,2=two) 但它给了我#语法错误:表达式不能包含赋值(指向int 1) 但当我这么做的时候 b=dict(one=1,two=2) 它工作得很好 我知道另一种使用方法 a={1:'one',2:'two'} 但是它太耗时了,我想知道第一个错误是什么,这是逻辑:赋值只以一种方式工作。1=myvar将不起作用,但myvar=1将起作用。这里,你

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

     a= dict(1=one,2=two)
但它给了我#语法错误:表达式不能包含赋值(指向int 1)

但当我这么做的时候

    b=dict(one=1,two=2)
它工作得很好

我知道另一种使用方法

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

但是它太耗时了,我想知道第一个错误是什么,这是逻辑:赋值只以一种方式工作。1=myvar将不起作用,但myvar=1将起作用。这里,你说1=1。。。它不起作用!但是当你把它反转,1=1,它就工作了。所以你自己找到了答案;)

不能使用
dict
构造函数执行此操作,因为它只接收有效的Python标识符(不接收数值)

您可以尝试:

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

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

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

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

你在字典作业中的“耗时”是什么意思?等号的左边不能有数字。几乎每种编程语言都是这样。在您的例子中,您必须使用带花括号的文字语法。您提到的替代方法是错误的,它必须是a={1:'one',2:'two',没有“dict”。您不能按照您想要的方式,关键字参数必须是有效的python标识符。您必须传递一个iterable对,但在这一点上,您最好使用一个literal。您应该定义
one
two
,或者将它们作为字符串传递。