如何使用另一个列表附加列表键值
How to Append a List Key Value using Another List
我一直在努力让它发挥作用。
有两个不同的 JSON 列表包含不同的键。
列表 1
[
{
"name":"John",
"measurement": "5.11"
},
{
"name":"Kate",
"measurement": "5.6"
}
]
列表 2
[
{
"name":"John",
"characteristics": {
"height": [
"6.0"
]
}
},
{
"name":"Mike",
"characteristics": {
"height": [
"5.10"
]
}
}
]
代码
for k in list2:
if v['name'] in [key['name'] for key in list1:
list1.append(k['measurement'])
我得到的输出是,
[{'name': 'John', 'characteristics': ['height': '6.0', 'age': 30}, '5.11']
预期输出
[{'name': 'John', 'characteristics': ['height': '5.11', 'age': 30}]
循环遍历键,如果 key['name']
在两个列表中相等,
然后它开始从给定的键中产生特定的值。
唯一的问题是它对我来说不能正常工作。我只想用测量中的高度替换特征中的高度值。
[编辑]:
我对 json 进行了更改。现在应该是正确的。基本上,height
是一个数组。
JSON 您发布的内容无效,所以我稍作修改。以下代码应该有效:
list_1 = [
{
"name": "John",
"measurement": "5.11"
},
{
"name": "Kate",
"measurement": "5.6"
}
]
list_2 = [
{
"name": "John",
"characteristics": {
"height": "6.0",
"age": 30
}
},
{
"name": "Mike",
"characteristics": {
"height": "5.10",
"age": 25
}
}
]
result = []
for list_1_item in list_1:
single_obj = {}
for list_2_item in list_2:
if list_2_item['name'] == list_1_item['name']:
single_obj['name'] = list_1_item['name']
single_obj['characteristics'] = list_2_item['characteristics']
result.append(single_obj)
print(result)
这给了我们以下结果:
[{'name': 'John', 'characteristics': {'height': '6.0', 'age': 30}}]
我一直在努力让它发挥作用。 有两个不同的 JSON 列表包含不同的键。
列表 1
[
{
"name":"John",
"measurement": "5.11"
},
{
"name":"Kate",
"measurement": "5.6"
}
]
列表 2
[
{
"name":"John",
"characteristics": {
"height": [
"6.0"
]
}
},
{
"name":"Mike",
"characteristics": {
"height": [
"5.10"
]
}
}
]
代码
for k in list2:
if v['name'] in [key['name'] for key in list1:
list1.append(k['measurement'])
我得到的输出是,
[{'name': 'John', 'characteristics': ['height': '6.0', 'age': 30}, '5.11']
预期输出
[{'name': 'John', 'characteristics': ['height': '5.11', 'age': 30}]
循环遍历键,如果 key['name']
在两个列表中相等,
然后它开始从给定的键中产生特定的值。
唯一的问题是它对我来说不能正常工作。我只想用测量中的高度替换特征中的高度值。
[编辑]:
我对 json 进行了更改。现在应该是正确的。基本上,height
是一个数组。
JSON 您发布的内容无效,所以我稍作修改。以下代码应该有效:
list_1 = [
{
"name": "John",
"measurement": "5.11"
},
{
"name": "Kate",
"measurement": "5.6"
}
]
list_2 = [
{
"name": "John",
"characteristics": {
"height": "6.0",
"age": 30
}
},
{
"name": "Mike",
"characteristics": {
"height": "5.10",
"age": 25
}
}
]
result = []
for list_1_item in list_1:
single_obj = {}
for list_2_item in list_2:
if list_2_item['name'] == list_1_item['name']:
single_obj['name'] = list_1_item['name']
single_obj['characteristics'] = list_2_item['characteristics']
result.append(single_obj)
print(result)
这给了我们以下结果:
[{'name': 'John', 'characteristics': {'height': '6.0', 'age': 30}}]