我有一个如下所示的字典列表,我想使用python为特定orderID提取partID和相应的数量,但我不知道怎么做
dataList = [{'orderID': 'D00001', 'customerID': 'C00001', 'partID': 'P00001', 'quantity': 2},
{'orderID': 'D00002', 'customerID': 'C00002', 'partID': 'P00002', 'quantity': 1},
{'orderID': 'D00003', 'customerID': 'C00003', 'partID': 'P00001', 'quantity': 1},
{'orderID': 'D00004', 'customerID': 'C00004', 'partID': 'P00003', 'quantity': 3}]
因此,例如,当我在我的dataList
中搜索一个特定的orderID == 'D00003'
时,我希望同时接收指定顺序的partID ('P00001')
,以及相应的quantity (1)
。你会怎么做?非常感谢您的帮助
您可以使用:
还有
视情况而定
你不会经常这样做,你可以反复浏览字典列表,直到找到“正确的”一个:
输出
因为这个解是O(n),如果你要做这个搜索很多次,它就会加起来
在这种情况下,最好将数据转换为字典字典,其中
orderID
是外键(同样,假设orderID
是唯一的):这也是O(n),但你只付一次。任何后续查找都是O(1)字典查找:
还有输出
我相信您希望熟悉^{} 包,它对数据分析非常有用。如果你遇到了这样的问题,我建议你花点时间在
pandas
上做一个教程。它可以做很多,而且很受欢迎您的
dataList
与DataFrame
结构非常相似,因此您要查找的内容非常简单:相关问题 更多 >
编程相关推荐