Python新手求助:误将字典当元组,如何获取第二个元素的键?
解决方法
首先得明确:你写的Tuple = {1:'A',5:'B'}是字典,不是元组——元组是用小括号()定义的,比如(1, 'A', 5, 'B')或者嵌套元组((1,'A'), (5,'B'))。
你要获取“第二个元素的键”,在Python 3.7及以上版本里,字典是按插入顺序保存的,所以可以这么做:
- 先把字典的所有键转成列表,再通过索引取第二个元素(注意Python里索引从0开始,所以第二个元素的索引是1):
嫌麻烦也可以一行写完:# 获取所有键的列表 key_list = list(Tuple.keys()) # 取第二个键 target_key = key_list[1] print(target_key) # 输出5list(Tuple.keys())[1]
另外你说Tuple[1]返回'A',是因为字典的方括号语法是通过键取值,Tuple[1]就是找键为1对应的值,和元素的顺序完全没关系。
如果是Python 3.6及更早的版本,普通字典是无序的,“第二个元素”这个说法就不成立了,这时候得用collections.OrderedDict来定义有序的字典,但现在大部分环境都是3.7+了,这个情况可以不用太在意。
内容的提问来源于stack exchange,提问作者Sem Overbeek
相关产品推荐
相关产品推荐

