2024-04-26 12:36:33 发布
网友
我有一本字典,结构如下:
{5:"djdj", 6:"8899", 7:"998kdj"}
密钥是int类型的,没有排序。
现在我要所有键为>;=6的元素。
有简单的方法吗?
也可以用filter来完成。
filter
In [9]: data = {5:"djdj", 6:"8899", 7:"998kdj"} In [10]: dict(filter(lambda x: x[0] > 5, data.items())) Out[10]: {6: '8899', 7: '998kdj'}
“元素”是什么意思?
如果您想要键≥6的键值对的dict,Python 2.7+和3.x支持dict comprehensions。
dict
{ k: v for k, v in mydict.items() if k >= 6 }
您可以在Python的早期版本中获得此信息
dict( (k, v) for k, v in mydict.items() if k >= 6 ) # Python 2.4+ dict([(k, v) for k, v in mydict.items() if k >= 6]) # Python 2.0+
通过使用表达式生成器或列表理解。
如果你只想要一份钥匙清单
[ k for k in mydict.keys() if k >= 6 ] filter( lambda k: k >= 6, mydict.keys() )
同样,如果您只想要一个值列表
[ v for k, v in mydict.items() if k >= 6 ] [ mydict[k] for k in mydict.keys() if k >= 6 ] map( mydict.get, filter( lambda k: k >= 6, mydict.keys() ) )
[v for k,v in mydict.items() if k >= 6]
也可以用
filter
来完成。“元素”是什么意思?
如果您想要键≥6的键值对的
dict
,Python 2.7+和3.x支持dict comprehensions。您可以在Python的早期版本中获得此信息
通过使用表达式生成器或列表理解。
如果你只想要一份钥匙清单
同样,如果您只想要一个值列表
[v for k,v in mydict.items() if k >= 6]
相关问题 更多 >
编程相关推荐