vacia una tuplas sacar palabra metodos llenar listas lista elementos crear buscar arreglos agregar python python-3.x python-2.7 list iterable-unpacking

tuplas - sacar elementos de una lista python



¿Obtiene solo un elemento de una lista de un solo elemento en Python? (2)

Agregaré que la biblioteca more_itertools tiene una herramienta que devuelve un elemento de un iterable.

from more_itertools import one iterable = ["foo"] one(iterable) # "foo"

Además, more_itertools.one genera un error si el iterable está vacío o tiene más de un elemento.

iterable = [] one(iterable) # ValueError: not enough values to unpack (expected 1, got 0) iterable = ["foo", "bar"] one(iterable) # ValueError: too many values to unpack (expected 1)

Cuando se sabe que una lista de Python siempre contiene un único elemento, ¿hay alguna otra forma de acceder a ella que no sea:

mylist[0]

Puede preguntar: "¿Por qué querrías hacerlo?". La curiosidad sola. Parece que hay una forma alternativa de hacer todo en Python.


Desempaque de secuencia:

singleitem, = mylist # Identical in behavior (byte code produced is the same), # but arguably more readable since a lone trailing comma could be missed: [singleitem] = mylist

Uso explícito del protocolo iterador:

singleitem = next(iter(mylist))

Pop destructivo:

singleitem = mylist.pop()

Índice negativo:

singleitem = mylist[-1]

Establezca mediante una sola iteración for (porque la variable del bucle permanece disponible con su último valor cuando finaliza un bucle):

for singleitem in mylist: break

Muchos otros (combinando o variando bits de lo anterior, o confiando de otra manera en la iteración implícita), pero se entiende la idea.