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

如何交换二维列表元素位置?以调整[85,'pass']为['pass',85]为例

调整二维列表元素顺序的实现

你需要将二维列表中的[85, 'pass']调整为['pass', 85],以下是针对你现有代码的分析和修正方案:

原代码(注释已翻译为中文)

gradebook= [
  ["physics",  98],  
  ["calculus", 97],  
  ["poetry",   85],  
  ["history",  88]  
]
print(gradebook)

gradebook.append(["computer science", 100])
print(gradebook)
gradebook.append(["visual art", 93])
print(gradebook)

# 修改二维列表的值
gradebook[-1][-1]= 98 # 将93加5分改为98
print(gradebook)

gradebook[2].remove("poetry")# 删除poetry并替换为pass
print(gradebook)
gradebook[2].append("pass")
print(gradebook)

问题说明

这段代码执行后,gradebook[2]会变成[85, 'pass'],和你想要的['pass', 85]顺序相反。这是因为移除"poetry"后,子列表仅剩85,调用append("pass")会把字符串添加到子列表末尾。

修正方案

方案一:直接替换子列表(最简洁)

直接将目标子列表重新赋值为['pass', 85],替换原有内容:

gradebook= [
  ["physics",  98],  
  ["calculus", 97],  
  ["poetry",   85],  
  ["history",  88]  
]
print(gradebook)

gradebook.append(["computer science", 100])
print(gradebook)
gradebook.append(["visual art", 93])
print(gradebook)

# 修改二维列表的值
gradebook[-1][-1]= 98 # 将93加5分改为98
print(gradebook)

# 直接替换目标子列表
gradebook[2] = ['pass', 85]
print(gradebook)

方案二:分步调整元素顺序

如果你想保留分步操作的逻辑,可以通过插入和移除来调整顺序:

# 移除"poetry"后,子列表为[85]
gradebook[2].remove("poetry")
# 在子列表开头插入"pass",得到['pass', 85]
gradebook[2].insert(0, "pass")

两种方案都能让gradebook[2]变成你需要的['pass', 85]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:55:23