Estoy tratando de hacer una función para iterar sobre la lista. ¿Alguien puede hacerme saber y explicar que es lo que estoy haciendo mal?
iplist = ['1.1.1.1', '2.2.2.2', '3.3.3.3', '4.4.4.4']
def ip_addr(addr_list):
for ip_addresses in addr_list:
return ip_addresses
test = ip_addr(iplist)
print(test)
Estoy esperando salida:
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
Sin embargo, obtengo el siguiente resultado:
1.1.1.1
Gracias
4 respuestas
Su problema es que regresa en la primera iteración del ciclo, luego obtiene solo la primera iteración. Trata eso:
iplist = ['1.1.1.1', '2.2.2.2', '3.3.3.3', '4.4.4.4']
def ip_addr(addr_list):
addresses = ""
for ip_addresses in addr_list:
addresses += ip_addresses + "\n"
return addresses
test = ip_addr(iplist)
print(test)
Su función devuelve el valor que encuentra en la primera iteración del ciclo for, lo que hace que el ciclo finalice de inmediato. En lugar de un bucle, unir los valores de la lista y devolverlos todos en una cadena.
def ip_addr(addr_list):
return "\n".join(addr_list)
No estoy seguro de lo que está tratando de hacer, pero aquí hay algunas soluciones:
iplist = ['1.1.1.1', '2.2.2.2', '3.3.3.3', '4.4.4.4']
def ip_addr(addr_list):
for ip_addresses in addr_list:
yield ip_addresses
test = ip_addr(iplist)
print(*[ip for ip in test])
O solo
iplist = ['1.1.1.1', '2.2.2.2', '3.3.3.3', '4.4.4.4']
print('\n'.join(iplist))
Por encima de todas las respuestas válidas, también puede usar una lista vacía ficticia y agregar dentro de los valores y devolver esa lista ficticia también.
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.