类型错误:‘dict’对象不可调用

73 投票
9 回答
522268 浏览
提问于 2025-04-16 21:10

我正在尝试遍历一个输入字符串中的元素,并从一个字典中获取它们。我哪里做错了呢?

number_map = { 1: -3, 2: -2, 3: -1, 4: 1, 5: 2, 6: 3 }
input_str = raw_input("Enter something: ")
strikes = [number_map(int(x)) for x in input_str.split()]

strikes  = [number_map(int(x)) for x in input_str.split()]
TypeError: 'dict' object is not callable

9 个回答

24

你需要用 [] 来访问字典里的元素,而不是用 ()

  number_map = { 1: -3, 2: -2, 3: -1, 4: 1, 5: 2, 6: 3 }
input_str = raw_input("Enter something: ")
strikes = [number_map[int(x)] for x in input_str ]
34

用方括号来访问字典里的内容。

strikes = [number_map[int(x)] for x in input_str.split()]
70

要根据一个键来访问字典,语法是使用方括号

number_map[int(x)]
          ^      ^

number_map(int(x))(带括号的)实际上是一个函数调用,但因为number_map不是一个可以调用的函数,所以会出现错误。

撰写回答