Error: int object is not iterable, how to resolve this?

def update_basis(A, basis, i, j):
    for k, var in enumerate(basis):
        idx = int(var[1:])
        if A[i][j] == 1:
            basis[k] = "x" + str(j+1)
            break
    return basis

I wrote the above code, and I am getting error as stated. I even tried range(enumerate(basis)), after reading one of the answers here. That too doesn't seem to work. How do I get around this? PS. I took this code from - https://github.com/pyaf/operations-research/blob/master/simplex-method/utils.py I know there are many similar questions on this, but I just cant get one that answers me problem.

Full traceback error:
TypeError                                 Traceback (most recent call last)
<ipython-input-7-9809e74f4f64> in <module>
    120     print("\nIteration number : %d" % iter_num)
    121     #updating basis as variables enter and leave
--> 122     basis= update_basis(i,j,basis,nonbasic)
    123     #updating table
    124     A,b,c= row_operations(A,b,c,i,j)

<ipython-input-7-9809e74f4f64> in update_basis(A, basis, i, j)
     76 
     77 def update_basis(A, basis, i, j):
---> 78     for k, var in enumerate(basis):
     79         idx = int(var[1:])
     80         if A[i][j] == 1:

TypeError: 'int' object is not iterable


Read more here: https://stackoverflow.com/questions/65720454/error-int-object-is-not-iterable-how-to-resolve-this

Content Attribution

This content was originally published by huy at Recent Questions - Stack Overflow, and is syndicated here via their RSS feed. You can read the original post over there.

%d bloggers like this: