2010-08-02 11 views

Respuesta

226
keep.update(yoursequenceofvalues) 

por ejemplo, keep.update(xrange(11)) para su ejemplo específico. O, si usted tiene para producir los valores en un bucle por alguna otra razón,

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

Pero, por supuesto, hacerlo a granel con una sola llamada .update es más rápido y más práctico, de lo contrario, cuando sea factible.

+15

'.add' agrega un solo elemento,' .update' agrega varios elementos. ¿Es eso correcto? – ThorSummoner

+3

@ThorSummoner Sí, '.add' espera un único tipo hashable, mientras' .update' espera un objeto iterable – Bonnie

+0

Si agrega una cadena con la actualización, agregará un elemento por carácter en su cadena porque es iterable. – hgolov

32

Uso update así:

keep.update(newvalues) 
63

También puede utilizar el operador | para concatenar dos sets (unión en la teoría de conjuntos):

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

O una forma más corta utilizando |=:

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

Nota: En versiones anteriores a Python 2.7, use set([...]) en lugar de {...}.

+0

Si tiene una lista de conjuntos 'my_sets', entonces puede hacer' big_set = my_sets [0] .union (* my_sets [1:]) 'para combinarlos todos – zelusp

133

Definir conjunto

a = set() 

Uso añadir a anexar valores individuales

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

Uso de actualización para añadir iterables valores

a.update([3,4]) 

Compruebe su colección

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

Eso es todo - recuerde, actualice si es iterable (también conocido como lista o tupla) o agregue si no es así. Feliz codificación!

Cuestiones relacionadas