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

Python:如何在列表的字典中查找特定值并更新首个匹配项?

找到列表中第一个指定值的字典并更新

你的代码报错是因为list.index()方法只能查找与传入值完全匹配的列表元素,而你的列表元素是字典,不是字符串"EMPTY",所以这个方法不适用。下面是两种可行的解决方案:

方法一:遍历查找并更新

直接遍历列表中的每个字典,找到第一个Name为"EMPTY"的字典后更新,然后终止循环避免修改后续元素:

# 示例player字典
player = {"No": 3, "Name": "Alice", "Level": 10, "Health": 100}

for char in character:
    if char["Name"] == "EMPTY":
        char.update(player)
        break  # 找到第一个目标后停止遍历
print(character)

方法二:用next()函数简洁实现

通过生成器表达式配合next()直接获取第一个符合条件的字典,找不到时返回None:

player = {"No": 3, "Name": "Alice", "Level": 10, "Health": 100}

# 获取第一个Name为EMPTY的字典,无匹配则返回None
target_char = next((char for char in character if char["Name"] == "EMPTY"), None)
if target_char:
    target_char.update(player)
print(character)

注意:dict.update()会将player的键值对合并到目标字典中,若存在相同键,player的值会覆盖原字典对应的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 04:57:13