0Pricing
Competitive Programming Academy · Lezione

Creare rapidamente array con le comprehension

Leggere e dare forma all’input su una sola riga

Creare rapidamente array con le comprehension è una lezione Competitive Programming Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Competitive Programming Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Competitive Programming Academy include 4 lezioni in totale.

Creare liste in una riga

Una list comprehension costruisce una lista a partire da un ciclo in una singola espressione. È più breve, più veloce e rappresenta lo standard nelle gare per trasformare i dati.

squares = [i * i for i in range(5)]

La struttura di base

La struttura è [expr for item in iterable]. L'espressione a sinistra viene eseguita una volta per ogni elemento prodotto dal ciclo.

doubles = [x * 2 for x in nums]

Leggere una riga di interi

La riga più comune nelle gare: divida l'input e converta ogni token. In un unico passaggio leggibile, questa operazione mappa il testo in interi.

nums = [int(x) for x in input().split()]

map() fa lo stesso lavoro

map(int, ...) applica int a ogni token. Lo racchiuda in list(...) per materializzare i valori e riutilizzarli più volte.

nums = list(map(int, input().split()))

Filtrare durante la costruzione

Aggiunga una condizione if alla fine per conservare solo gli elementi che la soddisfano. Qui, durante la costruzione, sopravvivono solo i numeri pari.

evens = [x for x in nums if x % 2 == 0]

Trasformare e filtrare insieme

Può trasformare e filtrare allo stesso tempo: modifichi a sinistra gli elementi conservati, selezionandoli con l'if finale.

out = [x * x for x in nums if x > 0]

Creare un array riempito di zeri

Le serve un array di dimensione fissa? [0] * n crea istantaneamente n zeri, perfetti per contatori e tabelle DP.

dp = [0] * n

Attenzione alle liste interne ripetute

Usi una comprehension per una griglia 2D. [[0] * c for _ in range(r)] crea righe indipendenti, mentre [[0] * c] * r condivide una sola riga.

grid = [[0] * c for _ in range(r)]

Indicizzare con enumerate

Quando le servono anche le posizioni, esegua il ciclo con enumerate, così ogni iterazione fornisce in modo chiaro sia l'indice sia il valore.

pairs = [(i, v) for i, v in enumerate(nums)]

Leggere una matrice intera

Combini la lettura e il ciclo per acquisire in una volta sola r righe di numeri, costruendo l'intera griglia in due brevi righe.

grid = [list(map(int, input().split()))
        for _ in range(r)]

Versioni per set e dict

La stessa sintassi crea set e dict: usi le parentesi graffe. {x for x in nums} elimina i duplicati, mentre le coppie key:value costruiscono una mappa.

seen = {x for x in nums}

Verifica rapida

Scelga l'idioma che legge una riga di interi separati da spazi.

Riepilogo: costruire rapidamente

Ora sa costruire, filtrare e rimodellare array in una sola riga e leggere rapidamente matrici intere. Le comprehension mantengono breve e privo di errori il parsing dell'input. 💡

Domande Frequenti

La lezione «Creare rapidamente array con le comprehension» è gratuita?

Sì — il testo completo di «Creare rapidamente array con le comprehension» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Competitive Programming Academy, passa a CoddyKit PRO. Il corso Competitive Programming Academy include 4 lezioni in totale.

Cosa imparerò in «Creare rapidamente array con le comprehension»?

Leggere e dare forma all’input su una sola riga Eserciti Competitive Programming Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Competitive Programming Academy?

Non è richiesta alcuna esperienza precedente. Competitive Programming Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Creare rapidamente array con le comprehension»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Competitive Programming Academy?

Sì. Ogni lezione Competitive Programming Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Liste, indicizzazione e slicing per la programmazione competitiva
  2. Creare rapidamente array con le comprehension
  3. Min, max, somma e totali progressivi
  4. Trovare l’indice, non solo il valore
← Torna a Competitive Programming Academy