Распаковка кортежей в понимании списка 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 ] было бы идеально для распаковки кортежей, но это неправильный синтаксис.>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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