enumerated y zip en Swift
Camina con índices, o camina dos secuencias al mismo paso.
let boats = ["Kestrel", "Sable", "Petrel"]
let times = [3612.0, 3599.5, 3688.0]
// enumerated pairs each element with its offset.
for (place, boat) in boats.enumerated() {
print("\(place + 1). \(boat)")
}
// zip walks two sequences in lockstep.
for (boat, time) in zip(boats, times) {
print("\(boat) finished in \(time) s")
}
let board = Dictionary(uniqueKeysWithValues: zip(boats, times))
print("Sable: \(board["Sable"] ?? 0) s")
Cómo funciona
enumerated()empareja cada elemento con su desplazamiento.zip(boats, times)se detiene en la secuencia más corta.Dictionary(uniqueKeysWithValues:)vuelve los pares un mapa.
Palabras clave y builtins usados aquí
Dictionaryforinletprint
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 433
- Tokens
- 118
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 109 segundos.
Paso 2 de 3 en Colecciones; paso 14 de 27 en Fundamentos del lenguaje.