为什么py遍历字典键时无法打印键?
我刚接触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)