python筛选列表中不同的质数_Python按不同属性筛选对象列表

我有一个具有多个属性的对象列表。我想根据对象的一个属性(国家代码)筛选列表,即

当前列表elems = [{'region_code': 'EUD', 'country_code': 'ROM', 'country_desc': 'Romania', 'event_number': '6880'},

{'region_code': 'EUD', 'country_code': 'ROM', 'country_desc':'Romania', 'event_number': '3200'},

{'region_code': 'EUD', 'country_code': 'ROM', 'country_desc': 'Romania', 'event_number': '4000'},

{'region_code': 'EUD', 'country_code': 'SVN', 'country_desc': 'Slovenia', 'event_number': '6880'},

{'region_code': 'EUD', 'country_code': 'NLD', 'country_desc':'Netherlands', 'event_number': '6880'},

{'region_code': 'EUD', 'country_code': 'BEL', 'country_desc':'Belgium', 'event_number': '6880'}]

所需列表

^{pr2}$

我可以通过创建一个字典和一个for循环来实现这一点,但我觉得在python中有一种更简单的方法使用filter()或reduce()函数,我只是不知道怎么做。在

有人可以使用内置的python函数简化下面的代码吗?性能是一个重要因素,因为实际数据将非常可观。

工作代码:unique = {}

for elem in elems:

if elem['country_code'] not in unique.keys():

unique[elem['country_code']] = elem

print(unique.values())

值得注意的是,我也尝试了下面的代码,但它的性能比当前的工作代码差:unique = []

for elem in elems:

if not any(u['country_code'] == elem['country_code'] for u in unique):

unique.append(elem)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值