Проблема возникает из-за попытки применить метод digits
к списку, а не к каждому элементу в списке.
Определив
sage: n = 2
sage: p = 3
и, напоминая, что range(a, b)
и IntegerRange(a, b)
оба
включают a
, но исключают b
,
sage: list1 = list(IntegerRange(0, p^n))
тогда можно наблюдать list1
sage: list1
[0, 1, 2, 3, 4, 5, 6, 7, 8]
и применить метод digits
к элементам list1
sage: [ZZ(x).digits(base=p, padto=n) for x in list1]
[[0, 0], [1, 0], [2, 0], [0, 1], [1, 1], [2, 1], [0, 2], [1, 2], [2, 2]]
возможно затем поменять местами эти цифры:
sage: [ZZ(x).digits(base=p, padto=n)[::-1] for x in list1]
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]