I have a 2D list that looks like this:
table = [['donkey', '2', '1', '0'], ['goat', '5', '3', '2']]
I want to change the last three elements to integers, but the code below feels very ugly:
for row in table:
for i in range(len(row)-1):
row[i+1] = int(row[i+1])
But I'd rather have something that looks like:
for row in table:
for col in row[1:]:
col = int(col)
I think there should be a way to write the code above, but the slice creates an iterator/new list that's separate from the original, so the references don't carry over.
Is there some way to get a more Pythonic solution?
for row in table:
row[1:] = [int(c) for c in row[1:]]
Does above look more pythonic?