Точно так же, как мне разрешено делать это:
(РЕДАКТИРОВАТЬ - Мне тоже НЕ разрешено делать это, извините, я напутал, но в любом случае я думаю, что мой вопрос больше о том, как выполнять параллельные назначения в цикле)
for (x,i) in ([0,1,2],[3,4,5]):
# do something
почему мне не разрешено делать это в каждом цикле (разная длина списка)
for (x,i) in ([4,6,5,7,8,9],[1,2,3]):
# do something
Я знаю, что вы получаете «ValueError: слишком много значений для распаковки», но почему цикл остановить, когда я закончу свою итерацию?
Реальное использование этого было бы для чего-то вроде этого, что я пытался сделать
for (keys,i) in (sorted(dic.keys(),key=custom_sort), range(10)):
print dic[keys]
, где я сортирую словарь, а также печатаю только первые 10 лучших результатов (предположим, что в словаре есть сотни ключей) - мне нужны были только 10 лучших результатов.
Так как такой синтаксис в любом случае недопустим, что может быть следующим лучшим решением?
спасибо