Я создал простую программу, чтобы взять список упрощенных функций sku и qty и добавить их в другой список. Однако, если sku уже во втором списке, я хотел бы просто увеличить количество, а не добавлять копию. Я пробовал несколько разных циклов for
, и я не смог заставить его работать.Iterating Over List, Объединение величин
myList = [["a",1],["c",1],["a",1]] #[sku, qty]
newList = [["null",0]] #placeholder value so second for loop functions
for eachItem in myList:
for eachNew in newList:
if eachItem[0] == eachNew[0]: # if sku is in list increment qty
eachNew[1] += eachItem[1]
myList.remove(eachItem)
else:
newList.append([eachItem[0], eachItem[1]]) #else add the sku to the list
myList.remove(eachItem)
#remove null place holder
for eachItem in newList:
if eachItem[0] == "null":
newList.remove(eachItem)
for eachItem in newList:
print(eachItem)
Мой желаемый результат будет:
['a', 2]
['c', 1]
EDIT: Я просто понял, что не было достаточно ясно, в моей ОП. Я не хочу считать количество раз, когда появляется sku, я хочу добавить все количества. Возможно, что будет количество больше одного.
Почему Вы добавляете NewList и MyList? – Selecsosi
@Selecsosi Потому что они сказали: «Я создал простую программу, чтобы взять список упрощенных функций sku и qty и добавить их в другой список». – MakeCents
newList = [["null", 0]] # placeholder значение so second для функций цикла – Selecsosi