对象列表的包装器,允许创建索引以加快查找速度

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())

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaPax考试:从非标准Maven存储库解析Karaf特性存储库(XML文件)   java Spring启动Bean创建异常   java中将ArrayList转换为数组的方法   Android Studio的java Unity插件。   java在CheckStyle中从方法计数中排除getter和setter   HibernateJava。sql。SQLSyntaxErrorException:表/视图“序列”不存在   与命令行程序Java vs C通信   java WebView膨胀异常   java在O(n)java8流中寻找两个列表的交集   java使用Gradle运行单元测试时,最大堆大小在哪里设置?   ssl加载java应用程序(CXF)内的jks文件   CI:Jenkins Git:Simple Java项目:希望在特定时间在脚本上发送消息   java根据位置更改数字   java按数值排序字符串数组   macos java版本“1.6.0_65”是否与java 6模棱两可?   Cassandra中的java时间戳