对象不可被dictionary下标,dictionary试图打印使用.items转换的dictionary



当前正在尝试打印alphabet_numbers.items(a,1(的第一个条目?

alphabet_numbers = {'a': '1', 
'b': '2',
'c': '3', 
'd'  : '4',
'e': '5'
}
tuple1 = alphabet_numbers.items()

print(tuple1[0,0])

如何只打印元组1的第一个条目?

如果放入print(tuple1),我得到:

dict_items([('a', '1'), ('b', '2'), ('c', '3'), ('d', '4'), ('e', '5')])

它可以显式转换为列表:

alphabet_numbers = {'a': '1',
'b': '2',
'c': '3',
'd': '4',
'e': '5'
}
tuple1 = list(alphabet_numbers.items())
print(tuple1[0][0])
print(list(alphabet_numbers.keys())[0])

如果您只对第一个键感兴趣,也可以使用函数keys

函数items不返回列表,而是返回类似视图的对象。类型检查器mypy通过使用原始示例的reveal_type(tuple1)来揭示类型:

typing.ItemsView[builtins.str*, builtins.str*]
first_entry = list(alphabet_numbers.items())[0]

您可以打印第一个条目,它将输出一个元组。

最新更新