def insertionSort(inventory):
indexingRange = range(2, len(inventory) + 1) # 2 .. len(inventory) + 1
for i in indexingRange:
x = inventory[i][1]
while i > 1 and inventory[i-1][1] > x: # check i value first and compare with 1
inventory[i-1], inventory[i] = inventory[i], inventory[i-1]
i = i - 1
return inventory
print(insertionSort(
{1: ['', 1],
2: ['', 2],
3: ['', 3],
4: ['', 4],
5: ['', 8],
6: ['', 20],
7: ['', 2]}
)
)
ZGVmIGluc2VydGlvblNvcnQoaW52ZW50b3J5KToKICAgIGluZGV4aW5nUmFuZ2UgPSByYW5nZSgyLCBsZW4oaW52ZW50b3J5KSArIDEpICMgMiAuLiBsZW4oaW52ZW50b3J5KSArIDEKCiAgICBmb3IgaSBpbiBpbmRleGluZ1JhbmdlOgogICAgICAgIHggPSBpbnZlbnRvcnlbaV1bMV0KCiAgICAgICAgd2hpbGUgaSA+IDEgYW5kIGludmVudG9yeVtpLTFdWzFdID4geDogIyBjaGVjayBpIHZhbHVlIGZpcnN0IGFuZCBjb21wYXJlIHdpdGggMQogICAgICAgICAgICBpbnZlbnRvcnlbaS0xXSwgaW52ZW50b3J5W2ldID0gaW52ZW50b3J5W2ldLCBpbnZlbnRvcnlbaS0xXQogICAgICAgICAgICBpID0gaSAtIDEKICAgIHJldHVybiBpbnZlbnRvcnkKCnByaW50KGluc2VydGlvblNvcnQoCiAgICB7MTogWycnLCAxXSwKICAgIDI6IFsnJywgMl0sCiAgICAzOiBbJycsIDNdLAogICAgNDogWycnLCA0XSwKICAgIDU6IFsnJywgOF0sCiAgICA2OiBbJycsIDIwXSwKICAgIDc6IFsnJywgMl19CiAgICApCik=
{1: ['', 1], 2: ['', 2], 3: ['', 2], 4: ['', 3], 5: ['', 4], 6: ['', 8], 7: ['', 20]}