我想制作一个工具来帮助我规划制作。
我有2000个产品的表,大约1500个不同的模型板(我在一家代工厂工作)。每个模型板上最多有10个不同(或相同)的型号(型号=产品)。当我收到订单时,我将其分解并最终得到如下列表:
product1 = 200
product2 = 500
product3 = 300
其中productX是代码,需要数字。
我想制作一个可以扫描模型板的工具,找到包含大部分订购件的印版。我也想在Python中这样做,因为我熟悉它并且我之前编写了与我们的数据库交互的程序。
现在我希望我能够很好地解释它:)
答案 0 :(得分:2)
“最高匹配”可以用两种方式解释:
在每行的右侧使用sorted
:
>>> l
['product1 = 200', 'product2 = 500', 'product3 = 300']
>>> sorted(l, key=lambda x:int(x.split('=')[1]))
['product1 = 200', 'product3 = 300', 'product2 = 500']
>>> sorted(l, key=lambda x:int(x.split('=')[1]), reverse=True)
['product2 = 500', 'product3 = 300', 'product1 = 200']
Python Counter
可能是您正在寻找的数据结构。将元素插入序列,从中创建一个Counter,然后提取most_common()
元素。
>>> from collections import Counter
>>> l=['a','a','a','b','c']
>>> c=Counter(l)
>>> c.most_common()
[('a', 3), ('c', 1), ('b', 1)]
>>> c.most_common()[0][0]
'a'