2013-08-20 14 views
16

ho qualcosa di simile a questo:Come ottenere indice di elemento nel gruppo oggetto

numberList = {} 
     for item in results: 
      data = json.loads(item[0]) 
      if data[key] in itemList: 
       numberList[itemList.index(data[key])] += 1 
     print numberList 

dove ITEMLIST è 'impostato' oggetto. Come posso accedere all'indice del singolo elemento in esso?

+3

AFAIK, i set non sono ordinati. – Hyperboreus

+0

'itemList' * deve * essere un' elenco', non un 'set'; Gli oggetti 'set' * non * hanno un metodo' .index() '; Gli oggetti 'set' sono di fatto non ordinati. –

+0

Che cosa stai cercando di fare qui? Contare il numero di volte in cui è presente un valore specifico di 'data [chiave]'? –

risposta

33

Un set è solo una collezione non ordinata di elementi unici. Quindi, un elemento è in un set o non lo è. Ciò significa che nessun elemento in un set ha un indice.

Considerare il set {1, 2, 3}. Il set contiene 3 elementi: 1, 2 e 3. Qui non c'è alcun concetto di indici o ordine; l'insieme contiene solo quei 3 valori.

Quindi, se i rendimenti data[key] in itemListTrue, quindi data[key] è un elemento del set itemList, ma non c'è alcun indice che è possibile ottenere.

+0

Ok, grazie per queste informazioni, sarà davvero utile per io in futuro – Lolek

Problemi correlati