< editar> Gracias a todos los que han respondido hasta ahora. El zip y os.path.join son realmente útiles. ¿Alguna sugerencia sobre varias formas de mostrar el mostrador delante, sin hacer algo como esto:Bucles Python con múltiples listas?
zip(range(len(files)), files, directories)
</edit>
Hola,
estoy en el proceso de aprendizaje de Python, pero vengo de un fondo en el siguiente pseudocódigo es típico:
directories = ['directory_0', 'directory_1', 'directory_2']
files = ['file_a', 'file_b', 'file_c']
for(i = 0; i < directories.length; i++) {
print (i + 1) + '. ' + directories[i] + '/' + files[i] + '\n'
}
# Output:
# 1. directory_0/file_a
# 2. directory_1/file_b
# 3. directory_2/file_c
En Python, la forma en que iba a escribir lo anterior en este momento, sería así:
directories = ['directory_0', 'directory_1', 'directory_2']
files = ['file_a', 'file_b', 'file_c']
for i in range(len(directories)):
print '%s. %s/%s' % ((i + 1), directories[i], files[i]
# Output:
# 1. directory_0/file_a
# 2. directory_1/file_b
# 3. directory_2/file_c
Durante la lectura de Inmersión en Python, Mark Pilgrim dice que el uso de bucles para los contadores es "estilo básico El pensamiento visual" (Simple Counters). Continúa para mostrar cómo usar bucles con diccionarios, pero nunca aborda una solución de Python en cuanto a cómo los contadores de bucles se utilizan normalmente en otros idiomas.
Esperaba que alguien me mostrara cómo escribir correctamente el escenario anterior en Python. ¿Es posible hacerlo de otra manera?
Si saqué el recuento de líneas incrementales, ¿es posible unir las dos listas utilizando algún tipo de comprensión de listas?
Por ejemplo, si todo lo que quería de la salida era esto (no hay contadores, es que es posible con la lista de comprensión):
# Output:
# directory_0/file_a
# directory_1/file_b
# directory_2/file_c
Gracias de antemano por cualquier ayuda.
i añade un ejemplo con contador – SilentGhost
Puedo sugerir que esos son "listas" no "arrays", que es un pequeño punto. –
@ SilentGhost Muchas gracias, he marcado su respuesta como la respuesta aceptada. Aprecio la ayuda! @Ali Un buen punto, actualicé mi publicación para que diga "listas" en lugar de "arreglos". –