为什么py遍历字典键时无法打印键?

-3 投票
1 回答
48 浏览
提问于 2025-04-14 15:30

我刚接触Python,遇到了一些意想不到的情况:

tracker = Dict[int, List[int]]      
tracker.update({1: {1,2,3}})
tracker.update({2: {4,5,6}})
tracker.update({3: {7,8,9}})
for key in tracker:
  print(key)

输出结果是:

*typing.Dict[int, typing.List[int]]

我原本期待的输出是:

1
2
3

有人能解释一下这个情况吗?还有,能告诉我怎么遍历并打印字典的键吗?

1 个回答

2

你给 类型定义 赋值给了 tracker,而不是一个真正的字典实例。

另外,{1,2,3} 是一个集合,不是列表。

tracker: Dict[int, List[int]] = dict()
    
tracker.update({1: [1,2,3]})
tracker.update({2: [4,5,6]})
tracker.update({3: [7,8,9]})

for key in tracker.keys():
  print(key)

或者...

tracker: Dict[int, List[int]] = dict()
    
tracker[1] = [1,2,3]
tracker[2] = [4,5,6]
tracker[3] = [7,8,9]

for key in tracker.keys():
  print(key)

或者...

tracker: Dict[int, List[int]] = {
   1: [1,2,3], 
   2: [4,5,6], 
   3: [7,8,9], 
}

for key in tracker.keys():
  print(key)

撰写回答