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

Python中二维数组的高效简洁增删改方法求助

Python中二维数组的高效简洁增删改方法求助

嗨,刚学Python遇到这种列表嵌套的结构处理需求太正常啦,我来给你分享两种实用的处理方式,看你哪种用着顺手~

方法一:直接操作原列表(适合数据量小的场景)

这种方法就是直接遍历列表找到目标元素,完成更新后再删除不需要的条目:

score = [['Andy', 80], ['John', 70], ['Diana', 100]]

# 第一步:更新Andy的分数为70
for item in score:
    if item[0] == 'Andy':
        item[1] = 70
        break  # 找到目标就终止循环,不用白跑剩下的元素

# 第二步:删除名字为John的条目
# 用列表推导式一行搞定,简洁又高效
score = [item for item in score if item[0] != 'John']

print(score)  # 输出结果:[['Andy', 70], ['Diana', 100]]

方法二:转成字典处理(适合数据量大的场景)

如果你的数据条目很多,用列表遍历会比较慢,这时候转成字典就方便多了——字典是通过键直接定位元素,查找速度比遍历列表快N倍:

score = [['Andy', 80], ['John', 70], ['Diana', 100]]

# 先把列表转成字典,名字作为键,分数作为值
score_dict = {name: s for name, s in score}

# 更新Andy的分数
score_dict['Andy'] = 70

# 删除John的条目
del score_dict['John']

# 如果需要转回原来的列表格式,再用列表推导式转回去
score = [[name, s] for name, s in score_dict.items()]

print(score)  # 同样得到目标结果:[['Andy', 70], ['Diana', 100]]

两种方法各有优势,小数据量用第一种直接操作列表就行,数据多的话用字典处理效率更高~

备注:内容来源于stack exchange,提问作者Tommy Sayugo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 20:09:51