php中文网

如何将数组中对象的键名替换为另一个数组提供的键名?

php中文网

如何替换数组对象中的键名

问题:

给定两个具有相同结构但键名不同的数组 data1 和 data2,如何创建一个方法将 data1 中的对象键名替换为 data2 中提供的键名?

解决方案:

def replace_keys(data1, new_keys):
  """替换数组对象中的键名

  args:
    data1: 原始数组
    new_keys: 保存新键名的数组

  returns:
    替换键名后的数组
  """

  result = []
  for obj in data1:
    new_obj = {}
    for key, value in obj.items():
      new_key = new_keys[key]
      new_obj[new_key] = value
    result.append(new_obj)

  return result

示例:

data1 = [
  {
    "appName": "应用1",
    "capacity": 233456
  },
  {
    "title": "应用2",
    "key": 124535
  }
]

data2 = [
  {
    "name": "应用1",
    "value": 233456
  },
  {
    "name": "应用2",
    "value": 124535
  }
]

result = replace_keys(data1, {
  "appName": "name",
  "capacity": "value",
  "title": "name",
  "key": "value"
})

print(result)
# 输出:[
#   {"name": "应用1", "value": 233456},
#   {"name": "应用2", "value": 124535}
# ]

以上就是如何将数组中对象的键名替换为另一个数组提供的键名?的详细内容,更多请关注php中文网其它相关文章!