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

为何Python函数返回的字典中first_name/last_name在末尾?与位置参数有关吗?

解答:为什么字典中'first_name'和'last_name'排在末尾

这跟位置参数的顺序没关系,核心是字典的插入顺序:

  • 调用build_profile('albert', 'einstein', location='princeton', field='physics')时,**user_info会先接收后面的两个关键字参数,把location和field存入自己的字典,此时user_info是{'location': 'princeton', 'field': 'physics'}。
  • 函数内部后续才执行user_info['first_name'] = first和user_info['last_name'] = last,这两步是往已有字典里追加新键值对。
  • 从Python 3.6开始,字典会严格保留键的插入顺序,所以后添加的first_name和last_name自然排在已有键的后面。

如果希望first_name和last_name排在字典开头,可以调整函数写法:先创建包含这两个键的基础字典,再把user_info的内容合并进去,示例代码如下:

def build_profile(first, last, **user_info):
    """Build a dictionary containing everything we know about a user."""
    profile = {'first_name': first, 'last_name': last}
    profile.update(user_info)
    return profile

这样调用后,输出的字典就会把first_name和last_name放在最前面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:54:30