Допустим, у меня есть строка, s='AADD'
.Я использовал more_itertools
и отдельную перестановку, которая выводила бы (AADD,ADDA,DDAA,ADAD,DADA,DAAD)
.
Мой вопрос в том, что AADD
и DDAA
, ADAD
и DADA
по сути являются зеркальным отображением друг друга, я хочу избавиться от одного из них, как мне пересмотреть мой коддля достижения этой цели?
import more_itertools
s = 'AADD'
#counting = 0
for i in more_itertools.distinct_permutations(s):
print(''.join(i))
#counting += 1
Обновление: у меня есть еще один вопрос, касающийся большого объема обработки данных.Допустим, моя строка «s» содержит 50 букв вместо 4, мне интересно, является ли «Different_permutation» из «more_itertools» наиболее эффективным способом сделать это?Я использовал Mathematica для вычисления всех возможных комбинаций, существует более 10 возможных комбинаций, интересно, есть ли более быстрый способ решения этой задачи.Заранее извиняюсь, если этот вопрос глуп, потому что я не учился ни одному классу кодирования и одновременно учусь программировать сам, пока выполняю проект.