Combinazioni di una lista in Python
-
Usa la funzione
itertools.combinations()
per trovare le combinazioni di una lista in Python -
Usa la funzione
itertools.combinations_with_replacement()
per trovare le combinazioni di un elenco in Python -
Crea una funzione
powerset()
definita dall’utente per trovare le combinazioni di un elenco in Python
Una combinazione è una tecnica che determina il numero di possibili disposizioni in una raccolta di elementi. In una combinazione di elementi, gli elementi vengono selezionati in un ordine arbitrario.
In questo tutorial, troveremo le combinazioni totali degli elementi di una lista in Python.
Usa la funzione itertools.combinations()
per trovare le combinazioni di una lista in Python
La funzione combinations(list_name, x)
del modulo itertools
prende il nome della lista e un numero ‘x’ come parametri e restituisce una lista di tuple ciascuna di lunghezza ‘x’ contenente tutte le possibili combinazioni di un elemento in la lista con gli altri elementi.
Per esempio,
from itertools import combinations
A = [10, 5, "Hi"]
temp = combinations(A, 2)
for i in list(temp):
print(i)
Produzione:
(10, 5)
(10, 'Hi')
(5, 'Hi')
Un elenco ordinato produrrà le tuple di combinazione in ordine ordinato. Una combinazione di un elemento nella lista con se stesso non è possibile utilizzando la funzione combinations()
.
Usa la funzione itertools.combinations_with_replacement()
per trovare le combinazioni di un elenco in Python
La funzione combinations_with_replacement(list_name, x)
del modulo itertools
prende il nome della lista e un numero ‘x’ come parametri e restituisce un elenco di tuple ciascuna di lunghezza ‘x’ contenente tutte le possibili combinazioni degli elementi della lista. Utilizzando questa funzione è possibile una combinazione di un elemento della lista con se stesso.
Per esempio,
from itertools import combinations_with_replacement
A = [1, 5, "Hi"]
temp = combinations_with_replacement(A, 2)
for i in list(temp):
print(i)
Produzione:
(1, 1)
(1, 5)
(1, 'Hi')
(5, 5)
(5, 'Hi')
('Hi', 'Hi')
Crea una funzione powerset()
definita dall’utente per trovare le combinazioni di un elenco in Python
In matematica, un insieme di potenze di qualsiasi insieme è un insieme che contiene tutti i possibili sottoinsiemi di un dato insieme insieme a un insieme vuoto. L’insieme delle potenze dell’insieme S = {2, 5, 10}
è {{}, {2}, {5}, {10}, {2, 5}, {2, 10}, {5, 10}, {2, 5, 10}}
. La seguente funzione powerset()
viene utilizzata per scorrere tutte le lunghezze ‘r’ della lista e stampare tutte le possibili combinazioni degli elementi della lista.
Per esempio,
from itertools import chain, combinations
def powerset(list_name):
s = list(list_name)
return chain.from_iterable(combinations(s, r) for r in range(len(s) + 1))
A = [60, 7, "Hi"]
for x in powerset(A):
print(x)
Produzione:
()
(1,)
(5,)
('Hi',)
(1, 5)
(1, 'Hi')
(5, 'Hi')
(1, 5, 'Hi')
Articolo correlato - Python List
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python