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

实现数组中匹配ID的记录更新函数:update_age与update_entrydate

没问题,我来帮你搞定这两个函数!先默认咱们用Python实现(逻辑适配大多数编程语言,你可以轻松转成其他语言),假设数据结构是包含字典的数组,每个字典条目包含p_id(唯一ID)、age和entrydate字段。

函数实现

1. update_age函数

这个函数的核心逻辑是:遍历数组查找匹配的p_id,找到就更新age字段并返回1,没找到就返回0。

def update_age(records, p_id, newage):
    for record in records:
        if record["p_id"] == p_id:
            record["age"] = newage
            return 1
    return 0

代码解释:

  • 接收三个参数:records是存储所有记录的数组,p_id是要匹配的目标ID,newage是要更新的新年龄
  • 遍历数组中的每一条记录,对比当前记录的p_id和目标ID
  • 找到匹配项后,直接修改该记录的age字段为newage,立即返回1(因为ID唯一,不用继续遍历)
  • 遍历结束没找到匹配项,返回0

2. update_entrydate函数

逻辑和update_age完全一致,只是把更新的字段换成entrydate:

def update_entrydate(records, p_id, newdate):
    for record in records:
        if record["p_id"] == p_id:
            record["entrydate"] = newdate
            return 1
    return 0

代码解释:

  • 参数和update_age类似,newdate是要更新的新入职日期(格式可以是字符串、日期对象,根据你的实际需求调整)
  • 同样遍历数组匹配p_id,找到后更新entrydate字段并返回1,未找到返回0

测试示例

咱们来验证一下函数的效果:

# 测试用的记录数组
employee_records = [
    {"p_id": 101, "age": 30, "entrydate": "2020-05-15"},
    {"p_id": 102, "age": 28, "entrydate": "2021-03-22"},
    {"p_id": 103, "age": 35, "entrydate": "2019-01-10"}
]

# 更新ID为102的年龄
result1 = update_age(employee_records, 102, 29)
print(result1)  # 输出:1
print(employee_records[1]["age"])  # 输出:29

# 更新不存在的ID的入职日期
result2 = update_entrydate(employee_records, 999, "2024-01-01")
print(result2)  # 输出:0

这样两个函数就完美满足你的需求啦!如果是其他编程语言,只需要把遍历和字典操作换成对应语言的语法就行,核心逻辑完全通用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:37:03