操作字典列表的简单方法
PLOD的Python项目详细描述
PLOD-简介
plod是操作字典列表的一种更简单、更容易的方法。plod代表pythonic字典列表。
为什么要列出字典?为什么扑通一声?
软件越来越多地在机器之间和进程之间传递更复杂的数据存储。示例包括restful xml、json/mongodb、google protobuf、rabbitmq等。
这些数据存储可以包括集合列表,每个集合可以有许多属性/值。在python中,这些通常在内部表示为包含字典的列表。例如,如果需要表示可供购买的水果列表:
fruits = [ {"name": "bannana", "color": "yellow", "qty": 9, "sizes": [2, 2.4, 3]}, {"name": "cherry", "qty": 40, "sizes": [3, 2, 9]}, {"name": "lime", "color": "green", "qty": 2, "sizes": [2]}, ]
当然,我们可以将这样的结构传递到一个sql数据库(比如mysql或postgresql)中进行操作。但对于少量的临时数据来说,这可能会造成过度杀伤力,特别是在基础设施需求很低且响应时间很关键的情况下。在这种情况下,在python本身的内存中操作这样的列表可能更有意义。
如果它足够简单,可以直接使用python来实现。例如:
abundant_fruit = [f for f in fruits if f['qty']>5]
但是,如果您正在编写的程序定期执行这样的操作,并且这些操作有些复杂,那么plod可能值得使用。为了模拟前面的示例,这次使用plod:
from PLOD import PLOD abundant_fruit = PLOD(fruit).gt('qty',5).returnList()
或者更复杂的例子:
from PLOD import PLOD my_fruit = PLOD(fruit).sort("color").contains("sizes", [3]).renumber("id", insert=True).returnList()
在这里,列表按颜色(顶部缺少颜色)排序,过滤到大小为3的条目,并用名为“id”的新键重新编号。
安装
使用pip:
pip install PLOD
如何使用
一般来说,一个简单的:
- 创建plod类的实例。
- 将类的方法链接在一起以操作列表。
- 使用“return”方法获得所需的结果。
例如,要对列表进行排序:
from PLOD import PLOD my_list = PLOD(fruits).sort("qty").returnList()
或者,使用筛选器获取逗号分隔值的字符串:
from PLOD import PLOD csv = PLOD(fruits).gt('qty', 1).returnCSV(keys=['name', 'sizes'])
有关详细信息,请访问Documentation 以及Library Reference