技术韭菜 2023-04-17 23:21 采纳率: 58.7%
浏览 27
已结题

字典中的items()用法


dict = {'老大':'15岁',
         '老二':'14岁',
         '老三':'2岁',
        }
print(dict.items())
for key,values in dict.items():
    print(key + '已经' + values + '了')

Python中字典里是无序的,但是用items()之后得到结果
dict_items([('老大', '15岁'), ('老二', '14岁'), ('老三', '2岁')]) 是按照字典的先后顺序排列了?为何用到items() 之后就变成按照字典书写的先后顺序了?字典的排列不是无序的吗?

  • 写回答

5条回答 默认 最新

  • 语言-逆行者 2023-04-17 23:37
    关注

    是的,Python中的字典是无序的,即使使用dict.items()也不能保证字典中键值对的顺序。在Python 3.7以前,字典中键值对的顺序都是根据哈希表随机分布的,无法确定。

    从Python 3.7开始,字典中的元素维护了它们被插入的顺序。因此,在Python 3.7及更高版本中,如果您使用dict.items()方法遍历一个字典,得到的结果可能会按照插入的先后顺序排列。但是,这并不表示字典中的元素始终按照这种方式排序。在Python中,字典仍然是无序的。

    无论如何,使用dict.items()方法可以将字典中的所有键值对组成一个元素为元组的可迭代对象,可以方便地进行遍历、筛选等操作。

    总之,虽然字典在Python中是无序的,但是使用dict.items()方法可以得到一个字典视图对象,该对象是可迭代的,并且可能按照插入顺序排列(取决于Python版本和实现细节)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月17日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上