Уведомления

Группа в Telegram: @pythonsu

#1 Июль 23, 2017 19:03:39

Karalov86
Зарегистрирован: 2016-06-17
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Вставка между элементами списка

Как лучше осуществить вставку между каждым элементом списка
Например есть список

 pets = ["cat", "dog", "parrot", "hamster"]
А нужно что бы получился список
 pets = ["cat", "monkey", "dog", "monkey", "parrot", "monkey", "hamster"]

Офлайн

#2 Июль 23, 2017 20:54:08

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Вставка между элементами списка

 >>> l = ['1','2','3']
>>> '\tmonkey\t'.join(l).split('\t')
['1', 'monkey', '2', 'monkey', '3']
>>> 

Офлайн

#3 Июль 24, 2017 01:08:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Вставка между элементами списка

  
>>> pets = ['cat', 'dog', 'parrot', 'hamster']
>>> 
>>> pets = sum(([i, 'monkey'] for i in pets), [])[:-1]
>>> pets
['cat', 'monkey', 'dog', 'monkey', 'parrot', 'monkey', 'hamster']
>>>



Офлайн

#4 Июль 24, 2017 05:51:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вставка между элементами списка

 from itertools import repeat
pets = ['cat', 'dog', 'parrot', 'hamster']
z = reduce(lambda x, y: x + y, zip(pets, repeat("monkey")), ())



Офлайн

#5 Июль 24, 2017 07:27:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Вставка между элементами списка

FishHook, у тебя после hamster ставит monkey.



Офлайн

#6 Июль 24, 2017 17:06:37

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Вставка между элементами списка

 >>> pets = ["cat", "dog", "parrot", "hamster"]
>>> reduce(lambda x, y: x +["monkey", y] if x else [y], pets, [])
['cat', 'monkey', 'dog', 'monkey', 'parrot', 'monkey', 'hamster']



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Июль 24, 2017 17:09:05)

Офлайн

#7 Июль 25, 2017 00:55:35

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вставка между элементами списка

Си подход

 >>> pets = ["cat", "dog", "parrot", "hamster"]
>>> for index in range(len(pets) - 1, 0, -1):
...     pets.insert(index, 'monkey')
...
>>> pets
['cat', 'monkey', 'dog', 'monkey', 'parrot', 'monkey', 'hamster']



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version