Присвоение функцией ключей словаря одной переменной, а значений - другой

Данный код возвращает элемент словаря и все ключи, но мне нужно понять как возвращать ключ возвращенного элемента?

def getRandomWord(wordDict):  # получение секретного слова из списка
    wordKey = random.choice(list(wordDict.keys()))
    wordIndex = random.randint(0, len(wordDict[wordKey])-1)

    return wordDict[wordKey][wordIndex]

secretWord, secretSet = getRandomWord(words), str(words.keys())

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

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

Если я правильно понял:

def getRandomWord(wordDict):  # получение секретного слова из списка
    wordKey = random.choice(list(wordDict.keys()))
    wordIndex = random.randint(0, len(wordDict[wordKey])-1)

    return wordDict[wordKey][wordIndex], wordKey # добавил возвращение ключа

secretWord, secretKey = getRandomWord(words) # ключ берём из возврата функции, как и слово

Вы можете вернуть из функции всё, что хотите, в виде списка значений через запятую, и присвоить эти полученные из функции значения списку переменных. Фактически из функции при этом возвращается кортеж, который потом "распаковывается" в список переменных, но это уже детали.

→ Ссылка