Объединение и форматирование списков

Даны два списка:

total_confirmed cases = [ 'Общее количество случаев-1676', 'г.Нур-Султан–372', 'г.Алматы–518', 'г.Шымкент–62', 'Акмолинскаяобласть–82', 'Актюбинскаяобласть–27', 'Алматинскаяобласть–41', 'Атыраускаяобласть–80', 'Восточно-Казахстанскаяобласть–8', 'Жамбылскаяобласть–61', 'Западно-Казахстанскаяобласть–46', 'Карагандинскаяобласть–93', 'Костанайскаяобласть–15', 'Кызылординскаяобласть–147', 'Мангистаускаяобласть–12', 'Павлодарскаяобласть–26', 'Северо-Казахстанскаяобласть–29', 'Туркестанскаяобласть–57']
total_deaths = ['Летальных случаев:17', 'г.Нур-Султан–2', 'г.Алматы–3', 'г.Шымкент–3', 'Акмолинскаяобласть–4', 'Восточно-Казахстанскаяобласть–1', 'Карагандинскаяобласть–1', 'Костанайскаяобласть–1', 'Павлодарскаяобласть–1', 'Туркестанскаяобласть–1']    

Каким образом можно получить список такого вида

list_completed = ['Казахстан:\n Заражённых-1676\n Смертей-17', 'г.Нур-Султан\n Заражённых-372\n Смертей-2', 'Жамбылская область \n Заражённых-61 \n Смертей-0']

И т.д.


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

Автор решения: Евгений

Это не полное решение вашей задачи, но идея её реализации, думаю, будет понятна.

total_confirmed_cases = [ 'Общее количество случаев-1676', 'г.Нур-Султан–372', 'г.Алматы–518', 'г.Шымкент–62', 'Акмолинскаяобласть–82', 'Актюбинскаяобласть–27', 'Алматинскаяобласть–41', 'Атыраускаяобласть–80', 'Восточно-Казахстанскаяобласть–8', 'Жамбылскаяобласть–61', 'Западно-Казахстанскаяобласть–46', 'Карагандинскаяобласть–93', 'Костанайскаяобласть–15', 'Кызылординскаяобласть–147', 'Мангистаускаяобласть–12', 'Павлодарскаяобласть–26', 'Северо-Казахстанскаяобласть–29', 'Туркестанскаяобласть–57']
total_deaths = ['Летальных случаев:17', 'г.Нур-Султан–2', 'г.Алматы–3', 'г.Шымкент–3', 'Акмолинскаяобласть–4', 'Восточно-Казахстанскаяобласть–1', 'Карагандинскаяобласть–1', 'Костанайскаяобласть–1', 'Павлодарскаяобласть–1', 'Туркестанскаяобласть–1']  


cases = {
    town.rsplit(chr(8211), 1)[0]:
        town.rsplit(chr(8211), 1)[1]
    for town in total_confirmed_cases[1:]
}

deaths = {
    town.rsplit(chr(8211), 1)[0]:
        town.rsplit(chr(8211), 1)[1]
    for town in total_deaths[1:]
}

totals = [
    town + "\n Зараженных-" + cases[town] + "\n Смертей-" + deaths[town]
    for town in set(cases.keys()) & set(deaths.keys())
]

print(*totals, sep="\n\n")

Результат:

г.Шымкент
 Зараженных-62
 Смертей-3

г.Алматы
 Зараженных-518
 Смертей-3

Восточно-Казахстанскаяобласть
 Зараженных-8
 Смертей-1

г.Нур-Султан
 Зараженных-372
 Смертей-2

Костанайскаяобласть
 Зараженных-15
 Смертей-1

Павлодарскаяобласть
 Зараженных-26
 Смертей-1

Акмолинскаяобласть
 Зараженных-82
 Смертей-4

Карагандинскаяобласть
 Зараженных-93
 Смертей-1

Туркестанскаяобласть
 Зараженных-57
 Смертей-1
→ Ссылка