2

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

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'

显然我缺少一些基本的东西。

4

3 回答 3

4

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

myvar1 = 1
mydict = {1: ['apple', 20, 80, 40],
          2: ['orange', 81, 400, 100]}
于 2013-05-31T10:43:44.510 回答
1

尝试:

myvar1 = '1'

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

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

In [2]: str(1)=='1'
Out[2]: True
于 2013-05-31T10:42:39.523 回答
1
myvar1 = 1
mydict =  {1: ['apple', 20, 80, 40],
           2: ['orange', 81, 400, 100]}

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

首先,您的“键”mydict字符串而不是整数,而整数myvar = 1 整数,因此您需要将键也保留为整数以进行比较。统一您的可变标准!

于 2013-05-31T10:44:27.123 回答