Некоторые элементы в моем списке немного длиннее и требуют другого подхода. Этот список выглядит так:
a = [['red', 'square', 'up'], ['red', 'circle'],
['blue', 'triangle'], ['blue', 'square'],
['blue', 'octagon'], ['blue', 'diamond', 'down']]
Я почти могу заставить его делать то, что я хочу, вот так:
[[x[0], x[1] + 's'] for x in a]
, что дает
[['red', 'squares'],
['red', 'circles'],
['blue', 'triangles'],
['blue', 'squares'],
['blue', 'octagons'],
['blue', 'diamonds']]
но это теряет информацию от более длинных элементов. Желаемый вывод:
[['red', 'squares', 'up1'], ['red', 'circles'],
['blue', 'triangles'], ['blue', 'squares'],
['blue', 'octagons'], ['blue', 'diamonds', 'down1']]
Просто делаю это
[[x[0], x[1] + 's', x[2] + '1'] for x in a]
... неудивительно, что приводит к ошибке:
IndexError: list index out of range
Есть идеи, как это сделать?