Forum
>>
Principianti
>>
Calcolo disposizioni con ripetizione - itertools?
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da marcos |
2024-10-14 08:09:51 - Calcolo disposizioni con ripetizione - itertools?
|
Ciao,
dovrei calcolare tutte le disposizioni di una lista di elementi in cui gli elementi possono esser ripetuti. Ad es. se gli elementi sono [a,b,c] e la stringa finale composta di 4 elementi dovrei ottenere aaaa aaab cccc abcd e cosi' via Il numero di stringhe in output e' n^k dove n = numero di elementi nella lista e k= lunghezza della stringa Ho visto che esiste il modulo itertools ma non mi pare contempli questo caso. Esiste un sistema veloce? Grazie Marco |
|
Scritto da nuzzopippo |
2024-10-14 09:09:51 - Re: Calcolo disposizioni con ripetizione - itertools?
|
Ciao ... beh, forse esiste
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux Type "help", "copyright", "credits" or "license()" for more information. import itertools data = ['a', 'b', 'c'] result = itertools.combinations_with_replacement(data, 4) for c in result: print(''.join(c)) aaaa aaab aaac aabb aabc aacc abbb abbc abcc accc bbbb bbbc bbcc bccc cccc Leggendo meglio, forse vorresti ottenere "Tutte" le possibili combinazioni, dato che quella sopra non è completa ... in tal caso combinando con itertools.permutations e smanettando un pochino si potrebbe (occhio sono TANTE) comp = [] result = itertools.combinations_with_replacement(data, 4) for e in result: per = itertools.permutations(e) for c in per: comp.append(''.join(c)) final = sorted(list(set(comp))) for v in final: print(v) aaaa aaab aaac aaba aabb aabc aaca aacb aacc abaa abab abac abba ... accc baaa baab baac baba ... etc ... --- Ultima modifica di nuzzopippo in data 2024-10-14 09:43:20 --- Fatti non foste a viver come bruti... |
|
Scritto da marcos |
2024-10-14 16:12:11 - Re: Calcolo disposizioni con ripetizione - itertools?
|
|
Pagina: 1
Esegui il login per scrivere una risposta.