Создание списка (list) путём конкатенации значений данного листа с целыми числами

Задание:

Используя циклы, напишите код, который создает список (list) путем конкатенации значений данного листа с целыми числами от 1 до (произвольного) n включительно. Пример:

для списка ["сосиски", "горчица"] при n = 3 результат должен выглядеть так:

['сосиски _ 1', 'горчица _ 1', 'сосиски _2 ', 'горчица _ 2', 'сосиски _ 3', 'горчица _ 3']

Исходный список: sample_list = ["мандаринки", "киви", "лимон"]

Посоветуйте, как приступить к этому заданию? Если написать код:

list = ["мандаринки", "киви", "лимон"]
for x in range(1, n):
    for y in list:
      print(y)

то получается не совсем то. Подскажите, как сделать как в примере. Или, собственно, моё решение тождественно?


Ответы (2 шт):

Автор решения: MBo
for i in range(n):
    for el in alist:
        объединяете число и элемент списка

или генератором списков:

print([el + str(i) for i in range(n) for el in alist])
→ Ссылка
Автор решения: Azat Galeev

Поскольку надо в задании создать список, для этого надо воспользоваться командой list.append().

Код выглядит так:

sample_list = ["мандаринки", "киви", "лимон"]
p='_' # создаём строку с подчёркиванием
x=[] # создаём пустой список куда будут добавляться  новые значения
for i in range(1,4): # запускаем перебор от 1 до 3
  for j in sample_list: # запускаем перебор значений
    y=str(i) # перводим число в строку
    c=j+p+y # делаем конкатенацию строк
    x.append(c) # добавляем элемент в список    
print(x)
   
→ Ссылка