Python:使用变量作为键访问字典

时间:2013-05-31 10:40:44

标签: python dictionary

为noobness道歉。

我正在尝试使用我之前设置的变量来访问字典。

myvar1 = 1
mydict =  {'1': ['apple', 20, 80, 40],
    '2': ['orange', 81, 400, 100]}

myvar2 = mydict[myvar1][0]
print(myvar2)

这给了我KeyError:1

我也试过

myvar2 = mydict['myvar1'][0]

这给了我KeyError:'myvar1'

显然我遗漏了一些基本的东西。

3 个答案:

答案 0 :(得分:3)

myvar1是一个整数,mydict使用字符串作为键。将myvar1更改为字符串或更改字典以将整数用作键。

myvar1 = 1
mydict = {1: ['apple', 20, 80, 40],
          2: ['orange', 81, 400, 100]}

答案 1 :(得分:1)

尝试:

myvar1 = '1'

在你的第一个声明中。您使用的1是整数,而不是'1'中的字符:

In [1]: 1=='1'
Out[1]: False

In [2]: str(1)=='1'
Out[2]: True

答案 2 :(得分:0)

myvar1 = 1
mydict =  {1: ['apple', 20, 80, 40],
           2: ['orange', 81, 400, 100]}

myvar2 = mydict[myvar1][0]
print(myvar2)

首先,mydict中的“密钥”为字符串,而不是整数,而myvar = 1 一个整数,所以你需要将键保持为整数以进行比较。统一您的变量标准!