как можно получить вложенный список из списка

ДД! Я только учу питон, задача состоит в том, чтобы для каждого города вывести возможную цепочку из городов(последняя буква первого слово - первая буква следующего) Я написала код, который это считает, но он выводит цепочки в одномерный список, соединяя их. Как этот список разбить на подсписки?

cities = ["Kyiv", "Rovno", "Volodumir", "Obolon" , "Nirov"]

def cityGame(cities, cur, result):
    for city in cities:
        if cur[-1] == city[0].lower():
            result.append(city)
            tmp = cities[:]
            tmp.remove(city)
            cityGame(tmp, city,result)
            
          
            
result = []
for city in cities:
    tmp = cities[:]
    tmp.remove(city)
    result.append(city)
    cityGame(tmp, city, result)                
print(result)

Результат кода ['Kyiv', 'Volodumir', 'Rovno', 'Obolon', 'Nirov', 'Rovno', 'Obolon', 'Nirov', 'Volodumir'....., когда нужно [['Kyiv', 'Volodumir', 'Rovno', 'Obolon', 'Nirov'],['Rovno', 'Obolon', 'Nirov', 'Volodumir']..]


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

Автор решения: CrazyElf

Вот так:

result = []
for city in cities:
    tmp = cities[:]
    tmp.remove(city)
    # добавляем новый подсписок в список с результатом
    # и дальше пополняем уже его, в том числе через функцию
    chain = []
    chain.append(city)
    result.append(chain)
    cityGame(tmp, city, chain)                
print(result)
→ Ссылка