Распаковка кортежей в понимании списка Python (невозможно использовать *-оператор)Python

Программы на Python
Anonymous
Распаковка кортежей в понимании списка Python (невозможно использовать *-оператор)

Сообщение Anonymous »

Я пытаюсь создать список на основе другого списка, в котором одни и те же значения повторяются 3 раза подряд.
На данный момент я использую:

Код: Выделить всё

>>> my_list = [ 1, 2 ]
>>> three_times = []
>>> for i in range( len( my_list ) ):
...   for j in range( 3 ):
...     three_times.append( my_list[ i ] )
...
>>> print three_times
[1, 1, 1, 2, 2, 2]
Но я бы хотел сделать это более Pythonic-способом, например:

Код: Выделить всё

>>> my_list = [ 1, 2 ]
>>> three_times = []
>>> three_times = [ (value,) * 3 for value in my_list ]
>>> print(three_times)
[(1, 1, 1), (2, 2, 2)]
Однако я не могу найти способ распаковать кортежи.
Что-то вроде Three_times = [ *( (value,) * 3 ) для значения в my_list ] было бы идеально для распаковки кортежей, но это неправильный синтаксис.>

Вернуться в «Python»