在代码的这一部分中,我们希望从order dataframe和其他列表创建一个列表,其中的产品符合我们的约束条件。因为我们的代码中有太多的循环,所以有很多重复的产品。我们已经创建了两个def函数来消除这个问题,但它不能正常工作。我们应该怎么做才能使列表中的产品不再重复
这是我们代码的赋值部分
routeList= list()
def routeListControl(assigned_products):
deger = False
for i in routeList:
if (i.getOrderNo() == assigned_products.getOrderNo()):
deger = True
if (i.getItemNo() != assigned_products.getItemNo()):
deger = False
if (deger == False):
routeList.append(assigned_products)
def notassigned_productsControl(notassigned_products)
deger = False
for i in notassigned_productsList:
if (i.getOrderNo() == notassigned_products.getOrderNo()):
deger = True
if (i.getItemNo() != notassigned_products.getItemNo()):
deger = False
if (deger == False):
notassigned_productsList.append(notassigned_products)
for df in dataframe_order_list:
for index, row in df.iterrows():
for j in orderWarehouseMatch:
if row['Item']== j.getItemNo():
for k,v in dictBalance.items():
if (str(k[10:]) == str(j.getWarehouse())[1:]):
if (int(row ['Qty/Ord']) <= int(dictBalance[str(j.getItemNo())+"/"+str(j.getWarehouse())])):
assigned_products= AssignedRoutes( row['No.Ord.'], str(j.getItemNo()) ,row ['Qty/Ord'], str(j.getWarehouse()) )
routeListControl(assigned_products)
elif (int(row ['Qty/Ord']) > int(dictBalance[str(j.getItemNo())+"/"+str(j.getWarehouse())])):
notassigned_products= NotAssignedProducts( row['No.Ord.'], str(j.getItemNo()) ,row ['Qty/Ord'], str(j.getWarehouse()) )
notassigned_productsControl(notassigned_products)```
给定一个对象列表,您可以通过比较它们的值来删除任何类似的对象
相关问题 更多 >
编程相关推荐