【发布时间】:2019-08-21 03:19:19
【问题描述】:
列表#1:
a=[
{
"id": 1,
"name": "John Mark",
"alias": "Batman",
},
{
"id": 2,
"name": "Luke Ben",
"alias": "Spider",
}
]
列表#2:
b=[
{
"uid": 1,
"item": "eggs",
"completed": False
},
{
"uid": 1,
"item": "milk",
"completed": False
},
{
"uid": 2,
"item": "bread",
"completed": False
},
{
"uid": 2,
"item": "cheese",
"completed": True
}
]
预期结果:
result=[
{
'name': 'John Mark',
'alias': 'Batman',
'shoppinglist': [
'eggs',
'milk'
]
},
{
'name': 'Luke Ben',
'alias': 'Spider',
'shoppinglist': [
'bread',
'cheese'
]
}
]
我有两个列表,我需要通过交叉引用这两个列表来创建一个新的字典列表。
我已开始尝试创建一个新列表以将 id/uid 存储在单独的列表中,但这没有用。
【问题讨论】:
-
请贴出您尝试过的代码,以便我们帮助您找出问题所在。
-
请出示您的新代码
-
“完成”会影响输出吗?如果没有,您只需将其删除。
-
userlist=[] for user in a: userlist.append(user['id']) In [1]: print (userlist) [1, 2]
-
li = {} #将slist的购物项目存入b: for i in userlist: li[i]=[] if b['uid']==i: print (i) print (b['item']) li[i].append(b['item']) 1 鸡蛋 1 牛奶 2 面包 2 奶酪
标签: python json list dictionary