operator - python=>




niebla en asterisco en python (2)

Estoy usando itertools.chain para "aplanar" una lista de listas de esta manera:

uniqueCrossTabs = list(itertools.chain(*uniqueCrossTabs))

¿Cómo es esto diferente a decir:

uniqueCrossTabs = list(itertools.chain(uniqueCrossTabs))

Divide la secuencia en argumentos separados para la llamada de función.

>>> def foo(a, b=None, c=None):
...   print a, b, c
... 
>>> foo([1, 2, 3])
[1, 2, 3] None None
>>> foo(*[1, 2, 3])
1 2 3
>>> def bar(*a):
...   print a
... 
>>> bar([1, 2, 3])
([1, 2, 3],)
>>> bar(*[1, 2, 3])
(1, 2, 3)

Solo una forma alternativa de explicar el concepto / usarlo.

import random

def arbitrary():
    return [x for x in range(1, random.randint(3,10))]

a, b, *rest = arbitrary()

# a = 1
# b = 2
# rest = [3,4,5]






operators