python - 有没有办法在字典的开头添加新值
问题描述
我有这本 python 字典
my_dic = {
0:{"food":"banana"},
1:{"food":"apple"},
2:{"food":"orange"}
}
我想当我从未向my_dic添加新值时, 我希望它位于 my_dic的开头,键为 0,所以my_dic看起来像这样
my_dic = {
0:{new value},
1:{"food":"banana"},
2:{"food":"apple"},
3:{"food":"orange"}
}
解决方案
这是你可以做到的
my_dic = {
0:{"food":"banana"},
1:{"food":"apple"},
2:{"food":"orange"}
}
my_dic = {0: "New value", **{k+1: v for k, v in my_dic.items()}}
这基本上创建了一个新的字典并将旧的字典放在最后。
这返回
{0: 'New value', 1: {'food': 'banana'}, 2: {'food': 'apple'}, 3: {'food': 'orange'}}
由于这不是高性能的,因此您应该检查是否可以使用其他数据结构。许多评论者建议使用 a collections.deque()
,这也是我自己会选择的。
推荐阅读
- javascript - 关闭 Chrome 窗口未在卸载事件处理程序中使用 sendBeacon 发送数据
- php - 管理安装 WordPress 的 PHP 框架的子文件夹的路由
- flutter - 是否可以在没有 SIM 卡的情况下从 Flutter 发送短信?
- java - ViewPager - 添加或更新卡片的问题
- javascript - NextJs 链接到另一个页面,然后使用:react-scroll 滚动
- c - 在调试环境中使用 Open62541 构建简单服务器
- python - 如何从多个单独的列表中创建一个列表,该列表位于一个变量中,情况 i=n?
- javascript - Firestore 的空值
- c++ - UWP 硬件视频解码 - DirectX12 与 Media Foundation
- laravel - 如何使用相同的身份验证保护验证多种类型的用户 [Lumen]