• Регистрация
chaa
chaa-0.17
старший преподаватель
  • Написать
  • Подписаться

Вопрос про итераторы в Python

Анализ данных или машинное обучение 
07.10.2019

Сейчас решаем с коллегой одну задачу из тензорного исчисления (симметризаторы Юнга).
Написал программу генерации перестановок по строкам и столбцам в диаграмме Юнга https://colab.research.google.com/drive/1fFnJE1qs16eDWtLmY-zrmCbB-cI27nzJ 

И столкнулся с проблемой. В функции-итераторе all_perms_dYu перед оператором yield res я распечатываю значения res
и они получаются правильными ( печать происходит при исполнении итератора
в строке apl = list(ap) преобразования итератора ap = all_perms_dYu(dYu, 0, 0) в список )
НО в списке оказываются неправильные данные
например apl[2] = [1, [[2, 3, 1], [1], [4]]], а должно быть = [1, [[2, 3, 1], [4], [5]]] (это значение res в 3-й итерации)

Подскажите, пожалуйста, почему так происходит??

Теги

  • python
    07.10.2019

    Ответы