Я хочу распаковать словарь и список в предложение. Например:Как перебирать словарь, используя для циклов?
newlist = [1, 2, 3, 4, 5, 6]
new_dictionary = {'code': 2, 'help': 6, 'broken': 4, 'is': 3, 'please': 5, 'my': 1}
Исходное предложение: 'My code is broken please help'
. В списке показаны позиции, которые слова появляются в предложении. Словарь хранит слово и позицию, с которой ассоциируется слово.
Целью является повторение словаря до совпадения числа в списке. Как только это произойдет, ключ, соответствующий значению, добавляется в список. Это будет продолжаться до тех пор, пока в списке не останется больше номеров. Затем список преобразуется в строку и печатается пользователю.
Я предположил бы, что-то подобное было бы решение:
for loop in range(len(newlist)):
x = 0
for k,v in new_dictionary.items():
if numbers[x] == v:
original_sentence.append(k)
else:
x = x + 1
print(original_sentence)
Однако код просто выводит пустой список. Есть ли способ переформулировки или переустановки циклов for, чтобы код работал?
Почему бы не инвертировать словарь, чтобы он отображал положение слова вместо слова в положение? Тогда это тривиально. – jonrsharpe
Каков фактический прецедент? Что должен делать этот код? Для чего вы это используете? Также, что вы подразумеваете под «Целью является итерация по словарю до совпадения числа в списке» – Keatinge
Ваш код не будет работать вообще, поскольку 'original_sentence' и' numbers' не определены. Пожалуйста, разместите код _actual_, над которым вы работаете. – Selcuk