Печать - странная вещь, которую нужно вызывать при понимании списка. Было бы полезно, если бы вы показали нам, какой вывод вы хотите, а не только код, который не работает.
Вот две догадки для вас. В любом случае, важным моментом является то, что оператор значения в понимании списка должен иметь значение single . Вы не можете вставить несколько элементов одновременно. (Если это то, что вы пытаетесь сделать, перейдите ко 2-му примеру.)
list1 = [1, 2, 3]
list2 = [(i, i*2, i) for i in list1]
# list2 = [(1, 2, 1), (2, 4, 2), (3, 6, 3)]
Чтобы получить плоский список:
list1 = [1, 2, 3]
tmp = [(i, i*2) for i in list1]
list2 = []
map(list2.extend, tmp)
# list2 = [1, 2, 1, 2, 4, 2, 3, 6, 3]
Edit:
Увеличение значения в середине понимания списка все еще странно. Если вам действительно нужно это сделать, лучше написать обычный цикл for и добавлять значения по мере необходимости. В Python такая хитрость почти всегда обозначается как «не пифоническая». Сделайте это, если нужно, но на форумах, подобных этому, у вас не будет никаких проблем. ;)