【发布时间】:2023-02-25 08:52:49
【问题描述】:
我确定我应该能够找到这个,但我已经看过了,但我似乎无法确定如何处理我正在寻找的一些用户案例。我想搜索字典列表,然后拉回一个子集或计算一个值出现的频率。
例如,从下面的列表中,我希望能够说
返回键“AP”中包含“WAP1”的所有字典的列表或返回键“network”=“net1”的列表数
所以根据逻辑搜索词返回一个新列表,其中仅包含前 2 个字典项和数字“3”
我用过,wap = next((item for item in ls_dict if item['AP']=='WAP1'),'none') 但这只会得到第一个项目。我也不确定为什么如果不使用“下一步”就不能工作并抛出这个错误。 <0x7f9146cba0 处的生成器对象>
在一天结束的时候,我希望能够在一个大列表中搜索一个 mac 地址的出现,或者拉出一个我可以用于未来操作的所有字典对象的列表,或者简单地计算它们出现的次数出现。
预先感谢您提供任何指导,我知道这一定很简单,但一直在寻找一段时间,但无法弄清楚。
> ls_dict = [{'network': 'NET1', 'AP': 'WAP1', 'MAC': 'FF01', 'ap_mac' : 'eeeeeeeeeeee'},
{'network': 'NET1', 'AP': 'WAP1', 'MAC': 'FF02', 'ap_mac' : 'eeeeeeeeeeee'},
{'network': 'NET1', 'AP': 'WAP2', 'MAC': 'FF03', 'ap_mac' : 'eeeeeeeeeeee'},
{'network': 'NET2', 'AP': 'WAP3', 'MAC': 'FF04', 'ap_mac' : 'eeeeeeeeeeee'}]
【问题讨论】:
-
你知道列表理解,或者使用
filter函数吗? -
我没有,但自从阅读了你的评论后,我开始自学它们,这看起来是我正在寻找的东西,谢谢。
标签: python dictionary