无法获取Python字典第一个元素,names(1)调用方式无效
解决Python字典无法通过
names(1)获取第一个元素的问题 首先,names(1)这种写法本身就不对——括号是调用函数的语法,而字典是数据对象,并非可调用的函数,直接这么写会抛出TypeError: 'dict' object is not callable错误。而且字典的访问逻辑是通过键取值,不是像列表那样用位置索引。
如果你的Python版本是3.7及以上(字典默认保留插入顺序),要获取字典的第一个元素,可以用下面几种方法:
获取第一个键:
names = {"John":20, "Marc":22, "Dwayne":23} first_key = next(iter(names.keys())) print(first_key) # 输出 John用
iter()把键的集合转成迭代器,再用next()取第一个元素,这种方式不用遍历整个字典,效率更高。如果不在意效率,也可以转成列表后取索引:list(names.keys())[0]。获取第一个值:
first_value = next(iter(names.values())) print(first_value) # 输出 20获取第一个键值对(返回元组):
first_item = next(iter(names.items())) print(first_item) # 输出 ('John', 20)
注意:如果你的Python版本低于3.7,字典是无序的,此时“第一个元素”没有实际意义,因为元素的顺序不固定。
内容的提问来源于stack exchange,提问作者ianikdobrevser
相关产品推荐
相关产品推荐

