Escriu per cercar…

Col·lecció

Filtrar, transformar i resumir una col·lecció sense escriure el bucle — el que en Python feies amb una list comprehension.

S'ensenya a
ProgramacióFonaments de programacióDAM

Introducció

List, Set i Map són col·leccions, i comparteixen un munt de funcions.

Aquestes funcions fan una cosa que ja saps fer d’una altra manera.

A Llista vas escriure això:

python
numbers = [1, 2, 3, 4, 5, 6]
big = [n * 3 for n in numbers if n > 3]

I abans d’aprendre la list comprehension, ho havies escrit així:

python
big = []
for n in numbers:
    if n > 3:
        big.append(n * 3)

Les dues versions fan el mateix, i la primera és millor perquè diu què vols en lloc de com obtenir-ho.

En Kotlin no hi ha list comprehensions. Hi ha una cosa que fa la mateixa feina, partida en dos trossos amb nom:

kotlin
fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6)
    val big = numbers.filter { it > 3 }.map { it * 3 }

    require(big == listOf(12, 15, 18))
}

filter es queda els elements que compleixen una condició. map transforma cada element.

Tota aquesta pàgina és aquesta idea, repetida amb funcions diferents.

Estàs llegint una vista prèvia.

Inicia sessió amb Google per llegir la pàgina completa.

Inicia sessió amb Google

Amb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.