所以我有一个 json 数据数组,如下所示:
[{
"first_name": "Joe",
"last_name": "Smith",
"numbers": [1,2,3,4,5]
}, {
"first_name": "Jane",
"last_name": "Doe",
"numbers": [6,4,1,35,2]
}, {
"first_name": "Mike",
"last_name": "Everyman",
"numbers": [8,5,3,2,4,5]
}]
如何仅选择 last_name = Doe 的数组项?我正在尝试将我在 ruby 中编写的一些代码转换为 python,因为 lambda 不支持 ruby :( 我的 ruby 代码如下所示:
match = data.select {|x| x[:last_name] == 'Doe'}
返回:
{
"first_name": "Jane",
"last_name": "Doe",
"numbers": [6,4,1,35,2]
}
另外,我知道这在技术上不会在 ruby 中工作,因为数据是 json 形式,但我将它从散列转换为 json 并且不想将其改回,因为基本思想仍然相同。
您可以使用生成器表达式,调用next
它以提供第一个匹配项(如果有):
match = next(d for d in data if d['last_name'] == 'Doe')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句