我有"site_mame": (side_id, frequency)
格式的字典:
d=[{'fpdownload2.macromedia.com': (1, 88),
'laposte.net': (2, 23),
'www.laposte.net': (3, 119),
'www.google.com': (4, 5441),
'match.rtbidder.net': (5, 84),
'x2.vindicosuite.com': (6, 37),
'rp.gwallet.com': (7, 88)}]
有没有一个聪明的方法来过滤字典d的值,使我只有那些位置,其中频率小于100?例如:
d=[{'fpdownload2.macromedia.com': (1, 88),
'laposte.net': (2, 23),
'match.rtbidder.net': (5, 84),
'x2.vindicosuite.com': (6, 37),
'rp.gwallet.com': (7, 88)}]
我不想使用循环,只是在寻找智能高效的解决方案。。。你知道吗
你想要的是一本字典。我将用另一个例子来说明:
如果您还不了解列表理解,这可能看起来很神奇,您将无法维护和调试,因此我将向您展示如何将其分解为一个显式循环语句,您应该能够轻松理解:
如果你想不出如何将其转化为理解,那么就使用语句版本,直到你学到更多;它有点冗长,但最好是让代码在你的脑子里想清楚。你知道吗
您的问题稍微复杂一些,因为值不仅仅是一个数字,而是一个由两个数字组成的元组(因此您希望筛选
value[1]
,而不是value
)。因为你有一个单字的列表而不仅仅是一个单字(所以你可能需要为列表中的每一个单字都这样做)。当然,我的过滤测试和你的不一样。但希望你能从这里找到答案。你知道吗您可以将字典理解与解包结合使用,以获得更具python效果:
输出:
您可以使用字典理解进行过滤:
相关问题 更多 >
编程相关推荐