#python #dictionary
#питон #словарь
Вопрос:
Я новичок в python у меня проблемы с пониманием словарей на python, особенно с тем, как получить их в качестве входных данных от пользователя, Может ли smn объяснить мне это в качестве примера на 1 задаче
1 строка-это количество записей, затем имя актера и фильмы, которые они играли, разделенные запятой
вывод должен быть название фильма:имя актера,имя актера
Я не понимаю, что такое ключ и что такое значение, Как я должен преобразовать эти входные строки в словарь ?
Комментарии:
1. Используется
line.split(', ')
для преобразования строки в список. Просмотрите все фильмы, сделав их ключами в словаре с именем актера в качестве значений.2. Вы не можете ввести новую строку во входные данные python… Является ли «ввод от пользователя» на самом деле файлом?
3. я попробовал и получил список списков [[«Брэд Питт», «Спящие», «Трой», «Знакомьтесь, Джо Блэк», «Океаны одиннадцать», «Семь», «Мистер и миссис Смит»], [«Том Хэнкс» и т. Д. Я просто не понимаю, что тогда, как из всего этого диктовать
Ответ №1:
d = {} # initialize empty dictionary n = int(input()). # get number of input lines for _ in range(n): actor, *films = input().split(", ") # get actor and films for film in films: # add actor to each film in dictionary d[film] = d.get(film, []) [actor] for film, actors in d.items(): # iterate the dictionary print(f"{film}: {', '.join(actors)}") # print the data using join function to add "," character between films
Если вам нужно отсортировать ключи и их значения, добавьте этот код:
for key, value in sorted(d.items(), key=lambda x: x[0]): d[key] = sorted(value)
Комментарии:
1. Большое вам спасибо за ваше время и ответьте, я ценю это, спасибо
2. Еще одна деталь, если вы можете, я отсортировал их по ключам и сначала сделал Apollo, но есть ли способ, когда я тоже могу сортировать значения по ключам, я имею в виду Неспящих в Сиэтле: Том Хэнкс, Мег Райан, чтобы Неспящие в Сиэтле: Мег Райан, Том Хэнкс после сортировки их по ключам
3. Я отредактировал свой ответ и добавил код для сортировки ключей словаря и их значений.
4. Еще раз спасибо
Ответ №2:
изначально вы просто создаете пустой словарь на python. Затем введите число, чтобы повторить цикл несколько раз, которые вы хотите ввести. Затем поместите цикл for и введите ключ и значение и сохраните их в словаре как dict[ключ]=значение.
Вот пример кода на python
dict={} n=int(input()) for i in range(n): key=input() value=intput() dict[key]=value