Я ищу чистый способ перебора по списку кортежей, где каждая пара такая, как [(a, b), (c,d) ...]
. Кроме того, я хотел бы изменить кортежи в списке.Итерировать список кортежей
Стандартная практика заключается в том, чтобы избежать изменения списка, а также итерации через него, так что мне делать? Вот что я хочу:
for i in range(len(tuple_list)):
a, b = tuple_list[i]
# update b's data
# update tuple_list[i] to be (a, newB)
Ну, вы действительно не обновляют список с этим один, вы только обновление кортежа. –
Правильно, поэтому что-то вроде 'tuple_list [i] = (a, newB)' ... кроме того, что я хочу избежать этого внутри цикла. Мне любопытно, есть ли более чистый способ. – Clev3r
@Clever: Цикл, который вы дали, в порядке; он не перебирает список, который вы обновляете, а только индексы. Это полностью стандартный способ работы со списками, если вы не меняете количество элементов в списке, а это не так. –