为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中拆分字典列表?

如何在Python中拆分字典列表?

千万里不及你 2024-01-04 16:36:00
lis_dict = [   {item: "some item"},    {quantity: 2},    {id: 10},    {quantity: 2},    {id: 11},    {quantity: 2},    {quantity: 2},    {id: 12}]我有上面的列表dict,我想将其分成一个子列表。result  = [   [{item: "some item"}, {quantity: 2}, {id: 10}],   [{quantity: 2}, {id: 11}],   [{quantity: 2}, {quantity: 2}, {id: 12}]]
查看完整描述

2 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

问题要求将列表按“id”拆分为嵌套列表。


输入:


lis_dict

[{'item': 'some item'},

 {'quantity': 2},

 {'id': 10},

 {'quantity': 2},

 {'id': 11},

 {'quantity': 2},

 {'quantity': 2},

 {'id': 12}]

代码:


result = []

s = 0

for i,j in enumerate(lis_dict):

    if ("id" in j.keys()):

        result.append(lis_dict[s:i+1])

        s = i+1

印刷:


[[{'item': 'some item'}, {'quantity': 2}, {'id': 10}],

 [{'quantity': 2}, {'id': 11}],

 [{'quantity': 2}, {'quantity': 2}, {'id': 12}]]


查看完整回答
反对 回复 2024-01-04
?
偶然的你

TA贡献1841条经验 获得超3个赞

更通用的方法可能如下(您可以在子列表中添加更多字典):


lis_dict = [{'item': 'some item'},

 {'quantity': 2},

 {'id': 10},

 {'quantity': 2},

 {'item': 'some item'},

 {'id': 11},

 {'quantity': 2},

 {'quantity': 2},

 {'id': 12}]


result = []

sublist = []

for d in lis_dict:

    sublist.append(d)

    if d.get("id"):

        result.append(sublist)

        sublist = []


print(result)


# [[{'item': 'some item'}, {'quantity': 2}, {'id': 10}], [{'quantity': 2}, 

# {'item': 'some item'}, {'id': 11}], [{'quantity': 2}, {'quantity': 2}, {'id': 12}]]



查看完整回答
反对 回复 2024-01-04
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信