Sono bloccato capire questo fuori e mi chiedo se qualcuno mi potrebbe punto nella giusta direzione ...Python - Trova stessi valori in un elenco e di gruppo insieme una nuova lista
Da questo elenco:
N = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5]
che sto cercando di creare:
L = [[1],[2,2],[3,3,3],[4,4,4,4],[5,5,5,5,5]]
Qualsiasi valore che si trova ad essere la stessa è raggruppata in essa la propria sottolista. Ecco il mio tentativo finora, sto pensando che dovrei usare un ciclo while
?
global n
n = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5] #Sorted list
l = [] #Empty list to append values to
def compare(val):
""" This function receives index values
from the n list (n[0] etc) """
global valin
valin = val
global count
count = 0
for i in xrange(len(n)):
if valin == n[count]: # If the input value i.e. n[x] == n[iteration]
temp = valin, n[count]
l.append(temp) #append the values to a new list
count +=1
else:
count +=1
for x in xrange (len(n)):
compare(n[x]) #pass the n[x] to compare function
* Ecco il mio tentativo finora * ... Si prega di citare se avete riscontrato problemi con il vostro codice. –
Perché memorizzare tutti i numeri? Perché non comprimerlo semplicemente in un elenco di tuple contenenti due valori. Il numero stesso e il numero di volte in cui quel numero si verifica. –