Articles of iterable desembalaje

Python star desempaquetando para la versión 2.7

Como se mencionó aquí , puede usar la estrella para descomprimir un número desconocido de variables (como en las funciones), pero solo en python 3: >>> a, *b = (1, 2, 3) >>> b [2, 3] >>> a, *b = (1,) >>> b [] En Python 2.7, lo mejor que puedo hacer es (no terrible, […]

Cambiar lo que hacen los operadores * splat y ** splatty-splat a mi objeto

¿Cómo anula el resultado de desempaquetar la syntax *obj y **obj ? Por ejemplo, ¿puedes crear de alguna manera un objeto que se comporte de esta manera? >>> [*thing] [‘a’, ‘b’, ‘c’] >>> [x for x in thing] [‘d’, ‘e’, ‘f’] >>> {**thing} {‘hello world’: ‘I am a potato!!’} Nota: la iteración a través de […]

¿Cómo convierto una tupla de tuplas a una lista unidimensional utilizando la comprensión de lista?

Tengo una tupla de tuplas, por ejemplo: tupleOfTuples = ((1, 2), (3, 4), (5,)) Quiero convertir esto en una lista plana y unidimensional de todos los elementos en orden: [1, 2, 3, 4, 5] He estado tratando de lograr esto con la lista de comprensión. Pero parece que no puedo entenderlo. Pude lograrlo con un […]

Operador estrella * en el lado izquierdo y derecho de una statement de asignación

Estas preguntas provienen de PEP 448 – Generalizaciones de desempaquetado adicionales y está presente en Python 3.5 por lo que sé (y no está respaldado a 2.x ). Específicamente, en la sección Desventajas , se observa lo siguiente: Mientras que *elements, = iterable hace que los elements sean una list , elements = *iterable , […]

¿Obteniendo solo un elemento de una lista de un solo elemento en Python?

Cuando se sabe que una lista de Python siempre contiene un solo elemento, ¿hay otra forma de acceder a ella que no sea: mylist[0] Puede preguntar, ‘¿Por qué querría hacerlo?’. La curiosidad sola. Parece que hay una forma alternativa de hacer todo en Python.

Cómo desempaquetar la tupla de longitud n a m <n variables

En Python 3 puedo hacer lo siguiente (ver también PEP3132 sobre Desembalaje Iterable extendido): a, *b = (1, 2, 3) # a = 1; b = (2, 3) ¿Qué puedo hacer para lograr lo mismo elegante en Python 2.x? Sé que podría usar las operaciones de acceso y corte de un solo elemento, pero me […]

Python: ¿Desempaquetar a un número desconocido de variables?

¿Cómo podría desempaquetar una tupla desconocida para, digamos, una lista? Tengo una serie de columnas de datos y se dividen en una tupla por alguna función. Quiero desempaquetar esta tupla a variables, pero no sé cuántas columnas tendré. ¿Hay alguna forma de descomprimirlo dinámicamente en tantas variables como necesite? Gracias por tu ayuda 🙂

asterisco en tupla, lista y definiciones de conjuntos, doble asterisco en definición de dict

Estoy jugando ahora con el intérprete de Python 3.5 y encontré un comportamiento muy interesante: >>> (1,2,3,”a”,*(“oi”, “oi”)*3) (1, 2, 3, ‘a’, ‘oi’, ‘oi’, ‘oi’, ‘oi’, ‘oi’, ‘oi’) >>> [1,2,3,”a”,*range(10)] [1, 2, 3, ‘a’, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> (‘aw’,’aw’,*range(10),*(x**2 for x in range(10))) (‘aw’, ‘aw’, 0, 1, 2, […]

¿Cómo funciona internamente el intercambio de miembros en las tuplas de python (a, b) = (b, a)?

In [55]: a = 5 In [56]: b = 6 In [57]: (a, b) = (b, a) In [58]: a Out[58]: 6 In [59]: b Out[59]: 5 ¿Cómo funciona este intercambio de valores de ayb internamente? Definitivamente no está utilizando una variable temporal.