У меня есть list
из lists
:
my_list_of_lists = [['a', 'keep me alone'],
['b', 'keep me alone'],
['c', 'Put me with previous value'],
['d', 'keep me alone']]
Я хочу перебрать my_list_of_lists
и объединить значение при предыдущем значении, когда my_list[1] == 'Put me with previous value'
.
Желаемый вывод:
my_updated_list_of_lists = [['a', 'keep me alone'], ['bc', 'keep me alone'], ['d', 'keep me alone']]
Я пробовал следующий код, но получаю ошибку IndexError: list index out of range
:
n = 0
my_updated_list_of_lists = []
for my_list in my_list_of_lists:
n = n+1
if my_list[1] == 'Put me with previous value':
my_updated_list_of_lists[n-1][0] = my_updated_list_of_lists[n-1][0] + my_list[0]
continue
else:
my_updated_list_of_lists.append(my_list)
Из-за природы элемента списка Put me with a previous value
(это суффикс, и это часть речевой функции, которую я использую). Я не вижу, чтобы она стала первой записью в списке.
Я бы ожидал, что код сломается, если / когда былпроблема, но я даже не могу заставить его работать.
Спасибо за помощь!