You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python有没有直接的字典解包方法可一行拆分单键与剩余字典?

问题原由

直接对字典执行迭代解包时,Python默认迭代字典的键,因此你运行原有代码得到的first是第一个键名,rest是剩余键组成的列表,和预期的字典结果不符。

一行实现方法

1. Python 3.8+ 最优写法(仅迭代一次字典,性能更高)

利用海象运算符暂存迭代器:

first, rest = dict([next(i := iter(some_obj.items()))]), dict(i)

运行后即可得到你需要的结果:first = {"a": 1},rest = {"b": 2, "c": 3}

2. 兼容Python 3.7及以上版本(无海象运算符)

将字典键值对转为列表后拆分:

first, rest = dict([list(some_obj.items())[0]]), dict(list(some_obj.items())[1:])

注意事项

  • 以上写法依赖Python 3.7及以上版本的字典插入序保留特性,低于该版本的Python中字典键值对顺序不固定,无法保证拿到的第一个键值对是你定义时的"a": 1
  • 如果你要指定按特定键拆分,调整迭代逻辑即可。

内容的提问来源于stack exchange,提问作者myfishnameisqwerty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:45:04