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

如何编写Python程序交换字典首尾元素?swap函数无效该如何解决?

实现Python字典首尾元素互换

注意:仅Python 3.7及以上版本的字典会保留插入顺序,低版本字典无序,不存在“首尾元素”的概念。

方法1:列表转换法

将字典的键值对转为列表,互换首尾元素后重新生成字典:

my_dict = {"a": 1, "b": 2, "c": 3, "d": 4}

items = list(my_dict.items())
if len(items) >= 2:
    # 互换首尾元素
    items[0], items[-1] = items[-1], items[0]
    swapped_dict = dict(items)
    print(swapped_dict)  # 输出: {'d': 4, 'b': 2, 'c': 3, 'a': 1}
else:
    print("字典元素不足2个,无需互换")

方法2:手动重构字典

提取首尾键值对,中间元素保持原顺序,重新构建字典:

my_dict = {"a": 1, "b": 2, "c": 3, "d": 4}

keys = list(my_dict.keys())
if len(keys) >= 2:
    # 提取首尾键值
    first_k, last_k = keys[0], keys[-1]
    first_v, last_v = my_dict[first_k], my_dict[last_k]
    
    swapped_dict = {last_k: last_v}
    # 添加中间元素
    for k in keys[1:-1]:
        swapped_dict[k] = my_dict[k]
    swapped_dict[first_k] = first_v
    
    print(swapped_dict)  # 输出: {'d': 4, 'b': 2, 'c': 3, 'a': 1}
else:
    print("字典元素不足2个,无需互换")

关于你提到的swap函数无效的问题

Python没有内置的swap函数,若你自行实现的swap逻辑无效,大概率是因为直接对字典进行索引操作(字典本身不支持通过索引访问元素),或是忽略了字典的有序性前提(比如使用了Python 3.6及以下版本)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:40:20