
Помогите решить задачу на Python. Программа:a = {1: {"pla": [555,666]}, 2: {"pla": [665, 6222]},
3: {"pla": [557865, 3466]}}for g in a: for i in a[g].items(): print('{} - {}'.format(g, ', '.join(i[1])))Результат должен быть:1 - 555, 6662 - 665, 62223 - 557865, 3466

Ответы на вопрос

Ответ:
a = {1: {"pla": [555,666]}, 2: {"pla": [665, 6222]}, 3: {"pla": [557865, 3466]}}
for g in a:
for i in a[g].items():
print('{} - {}, {}'.format(g, i[1][0], i[1][1]))
Объяснение:
print('{} - {}'.format(g, ', '.join(i[1]))) - ошибка
ты не можешь прибавлять к str ', ' значение i[1] т.к разные типы данных
print('{} - {}'.format(g, ', '.join(str(i[1]))))
если ты хочешь без квадратных скобок :
print('{} - {}, {}'.format(g, i[1][0], i[1][1]))



Проблема в вашем коде заключается в том, что вы пытаетесь объединить список в строку с помощью ', '.join(i[1])
, где i[1]
- это список. Для достижения желаемого результата вам нужно сначала преобразовать элементы списка в строки, а затем объединить их в строку. Вот исправленный код:
pythona = {1: {"pla": [555, 666]}, 2: {"pla": [665, 6222]}, 3: {"pla": [557865, 3466]}}
for g in a:
values = a[g]["pla"]
values_as_strings = [str(val) for val in values]
result = ', '.join(values_as_strings)
print('{} - {}'.format(g, result))
Этот код пройдет по словарю a
, извлекая список значений из каждого элемента и преобразуя их в строки перед объединением. Теперь он должен выводить ожидаемый результат:
yaml1 - 555, 666
2 - 665, 6222
3 - 557865, 3466


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili