Python, list of dictionaries遍历筛选

图片说明

说明:原始数据导进来,index3是字符串格式(json)。

需求:提取index3里字典格式下所有“name”的值。

现有思路:用json.loads转码成list of dictionaries格式,然后循环遍历index3,遍历list所有字典,遍历字典里的key值,判断字典key=="name",取value。

说明:同一个list里面多个dictionary,且key值有重复;json转码前带单引号字符串str。

问题:三层循环,数据量稍微大一点速度极慢,求大神帮帮忙有没有新的思路!

1个回答

只取name的值的话,可能正则匹配会快一些吧。首先取出第三例,每一行的列表转为字符串,使用re.findall去匹配name后面的值

import re
ss = [{'name':'aaa','age':'17'},{'name':'bbb','age':'17'}]
ss = str(ss)
# print(ss)

s = re.findall(r".*?name': '([a-z]+)",ss)
print(s)

'''
>>['aaa', 'bbb']
'''
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问