2010-08-02 15 views

Odpowiedz

226
keep.update(yoursequenceofvalues) 

np. keep.update(xrange(11)) dla konkretnego przykładu. Lub, jeśli masz do wytworzenia wartości w pętli z jakiegoś innego powodu,

for ...whatever...: 
    onemorevalue = ...whatever... 
    keep.add(onemorevalue) 

Ale, oczywiście, robi to w dużych ilościach z jednym .update rozmowy jest szybciej i wygodniej, gdy w przeciwnym razie możliwe.

+15

'.add' dodaje pojedynczy element,' .update' dodaje kilka elementów. Czy to jest poprawne? – ThorSummoner

+3

@ThorSummoner Tak, '.add' spodziewa się pojedynczego typu skrótów, podczas gdy' .update' oczekuje obiektu iterowalnego – Bonnie

+0

Jeśli dodasz ciąg z aktualizacją, doda on jeden element na znak w łańcuchu, ponieważ jest to plik iteracyjny! – hgolov

32

Zastosowanie update tak:

keep.update(newvalues) 
63

Można również użyć operatora | aby złączyć dwa zestawy (związkowych w teorii mnogości):

>>> my_set = {1} 
>>> my_set = my_set | {2} 
>>> my_set 
{1, 2} 

Albo krótszy formularz za pomocą |=:

>>> my_set |= {2} 
>>> my_set 
{1, 2} 

Uwaga: W wersjach wcześniejszych niż Python 2.7 użyj set([...]) zamiast {...}.

+0

Jeśli masz listę zestawów 'my_sets', to możesz zrobić' big_set = my_sets [0] .union (* my_sets [1:]) 'aby połączyć je wszystkie – zelusp

133

Definiowanie ustawić

a = set() 

Zastosowanie dodać do dołączania pojedynczych wartości

a.add(1) 
a.add(2) 

Zastosowanie aktualizacja dołączyć iterable wartości

a.update([3,4]) 

Sprawdź swoją kolekcję

a 
Out[*n*]: {1, 2, 3, 4} 

To wszystko - pamiętaj, aktualizację jeśli jest to możliwe (aka lista lub krotka) lub dodać, jeśli nie. Szczęśliwe kodowanie!

Powiązane problemy