itertool для генерации 2 строк для sympy - PullRequest
0 голосов
/ 18 июня 2020

Я хочу иметь возможность сгенерировать набор символов с помощью iter.product, мой код выглядит следующим образом:

for m in range(0,3):
    for n in range(0,3):
       for o in range(0,3):
           for p in range(0,3):
                sub1=(m+1,n+1)
                sub2=(o+1,p+1)
                x= symbols(('C_{%d%d%d%d}')%(m+1,n+1,o+1,p+1), commutative=True)
                B=Symbol("C_{%s}" % ''.join(str(i,j) for i,j in itertools.product(sorted(sub1),sorted(sub2))))

, но я получаю следующую ошибку: аргумент str () 2 должен быть str, не int

если я ккеп только i или j, то код работает. Ошибка предполагает, что один из аргументов не является строкой, которую я не понимаю.

1 Ответ

0 голосов
/ 19 июня 2020

Я нашел ответ на это.

Просто нужно было изменить последнюю строку на:

            B=Symbol("C_{%s}" % ''.join(str((i,j)) for i,j in itertools.product(sorted(sub1),sorted(sub2))))
...