对象列表的包装器,允许创建索引以加快查找速度
list-lookup的Python项目详细描述
#listlookup
用于在对象/词典列表中快速查找的包装器。
**注意**创建索引后不要修改列表!
```
来自listlookup导入listlookup
cities=listlookup([
{id:1,“country”:“us”,name:“atlanta”},
{id:2,“country”:“us”,name:“miami”},
{id:3,“country”:“uk”,name:“britain”},
{id:4,“country”:“ca”,“name”:“barrie”},
cities.index(“id”,lambda d:d['id'],true)
cities.index(“country”,lambda d:d['country'])
list(cities.lookup(id=1))
>;[{“id”:1,“country”:“us”,name:“atlanta”}
list(cities.lookup(country=”us”,preserve\u order=true))
>;[{“id”:1,“country”:“us”,name:“atlanta”},“id”:2,“country”:“us”,name:“迈阿密”}
列表(cities.lookup(id=2,country=“uk”))
>;[]
cities.index('name',lambda d:d['name'])
列表(cities.lookup(name=lambda val:val.startswith('b'))
>;[{“id”:3,“country”:“uk”,name:“britain”},{“id”:4,“country”:“ca”,“name”:“barrie”}
````
不区分大小写索引
这是开箱即用不受支持的。您需要对索引和查找值使用相同的大小写。例如,使用`.lower()`
``
from listlookup import listlookup
cities=listlookup([
{id:1,“country”:“us”,name:“atlanta”},
{id:2,“country”:“us”,name:“miami”},
{id:3,“country”:“uk”,name:“britain”},
{id:4,“country”:“ca”,“name”:“barrie”},
cities.index(“country”,lambda d:d['country'].lower())
用于在对象/词典列表中快速查找的包装器。
**注意**创建索引后不要修改列表!
```
来自listlookup导入listlookup
cities=listlookup([
{id:1,“country”:“us”,name:“atlanta”},
{id:2,“country”:“us”,name:“miami”},
{id:3,“country”:“uk”,name:“britain”},
{id:4,“country”:“ca”,“name”:“barrie”},
cities.index(“id”,lambda d:d['id'],true)
cities.index(“country”,lambda d:d['country'])
list(cities.lookup(id=1))
>;[{“id”:1,“country”:“us”,name:“atlanta”}
list(cities.lookup(country=”us”,preserve\u order=true))
>;[{“id”:1,“country”:“us”,name:“atlanta”},“id”:2,“country”:“us”,name:“迈阿密”}
列表(cities.lookup(id=2,country=“uk”))
>;[]
cities.index('name',lambda d:d['name'])
列表(cities.lookup(name=lambda val:val.startswith('b'))
>;[{“id”:3,“country”:“uk”,name:“britain”},{“id”:4,“country”:“ca”,“name”:“barrie”}
````
不区分大小写索引
这是开箱即用不受支持的。您需要对索引和查找值使用相同的大小写。例如,使用`.lower()`
``
from listlookup import listlookup
cities=listlookup([
{id:1,“country”:“us”,name:“atlanta”},
{id:2,“country”:“us”,name:“miami”},
{id:3,“country”:“uk”,name:“britain”},
{id:4,“country”:“ca”,“name”:“barrie”},
cities.index(“country”,lambda d:d['country'].lower())