Я хочу знать, как сравнить строку со списком. Например, У меня есть строка 'abcdab
' и список ['ab','bcd','da']
. Есть ли способ сравнить все возможные комбинации списков с строкой и избежать совпадающих элементов. так что на выходе будет список кортежей как [('ab','da'),('bcd'),('bcd','ab'),('ab','ab'),('ab'),('da')].
Python: сравнение списка со строкой
Выход следует избегать таких сочетаний, как ('bcd', 'da')
как символ «d» повторяется в кортеже в то время как он появляется только один раз в строке.
Как указано в ответе. Символы в строках и элементах списка не должны быть перегруппированы.
Один из способов, которым я пытался, состоял в том, чтобы разделить элементы строки на все возможные комбинации и сравнить. Который был 2^(n-1) n - количество символов. Это заняло много времени.
Я новичок в программировании на питоне. Спасибо заранее.
не могли понять вопрос. Не могли бы вы объяснить это ясно? – thefourtheye
Почему в выводе нет '('bcd', 'ab')'? Это потому, что элементы списка могут повторяться, но они должны появляться только в исходном кортеже в их первоначальном порядке? –
Извините PM 2Ring, вы правы. Он должен быть на выходе. – AmeyA