Potenza ed essenza di una lista
Elementi della lista inseriti attraverso le due caselle di testo TxtNome e TxtNumero
Conversione in CSV e altro
Contenuti:
- create empty list
- make a list
- add items to list
- is in list?
- length of list
- is list empty
- pick a random item
- index in list
- select list item
- insert list item
- replace list item
- remove list item
- append to list
- copy list
- is a list?
- reverse list
- list to csv row
- list to csv table
- list from csv row
- list from csv table
- lookup in pairs – Ricerca in coppia
- join with separator- Unisci con separatore
- OPERATORI FUNZIONALI DI LISTE
Thunkable
App Inventor 2 | Kodular | ThunkableX |
---|---|---|
create empty list
Crea un elenco vuoto senza elementi.make a list
Crea un elenco dai blocchi dati. Se non si forniscono argomenti, viene creato un elenco vuoto, al quale è possibile aggiungere elementi in un secondo momento. Questo blocco è un mutatore . Facendo clic sul segno più blu, è possibile aggiungere ulteriori elementi all’elenco.add items to list
Aggiunge gli elementi (items) dati alla fine dell’elenco. La differenza tra questo eappend to list
è che il secondo accetta gli elementi da aggiungere come un unico elenco mentre add items to list
accetta gli elementi come singoli argomenti. Questo blocco è un mutatore , quindi se il blocco è singolo verrà aggiunto solo un elemento, se il blocco è composto da 3 elementi, verranno aggiunti 3 elementi in ordine all’ultimo già presente nella lista. is in list?
Se l’oggetto è uno degli elementi dell’elenco, restituiscevero
; in caso contrario, restituisce false
. Notare che se un elenco contiene elenchi secondari, i membri degli elenchi secondari non sono essi stessi membri dell’elenco. Ad esempio, i membri dell’elenco (1 2 (3 4)) sono 1, 2 e l’elenco (3 4); 3 e 4 non sono essi stessi membri dell’elenco.
length of list – lunghezza della lista
Restituisce il numero di elementi nell’elenco.is list empty
Se l’elenco non ha elementi, restituiscetrue
; in caso contrario, restituisce false
.
pick a random item
Seleziona un elemento a caso dall’elenco.index in list
Restituisce la posizione del valore (things) nell’elenco. Se non nell’elenco, restituisce 0.select list item
Seleziona l’elemento in corrispondenza dell’indice indicato nell’elenco indicato. Il primo elemento dell’elenco è nell’indice 1.insert list item
Inserisce un elemento nell’elenco nella posizione specificata. Bisogna dichiarare prima il nome della lista da popolare, il valore dell’indice (che deve sempre partire da 1 ed essere crescente) e poi l’elemento (item) da inserire.replace list item
Inserisce la sostituzione nell’elenco indicato nell’indice di posizione. L’elemento precedente in quella posizione viene rimosso.remove list item
Rimuove l’elemento nella posizione specificata.append to list
Aggiunge gli elementi nel secondo elenco alla fine del primo elenco.copy list
Crea una copia di un elenco, inclusa la copia di tutti gli elenchi secondari.is a list?
Se l’oggetto è una lista, ritornavero
; in caso contrario, restituisce falso
.
reverse list
Inverte una copia dell’elenco con elementi nell’ordine inverso. Ad esempio reverse ([1,2,3]) restituisce [3,2,1]list to csv row
Interpreta la lista come una riga di una tabella e restituisce un testo CSV (comma-separated values – valore separato da virgola) che rappresenta la riga. Ogni elemento nell’elenco di righe viene considerato come un campo ed è riportato tra virgolette nel testo CSV risultante. Gli articoli sono separati da virgole. Ad esempio, la conversione dell’elenco (abcd) in una riga CSV produce (“a”, “b”, “c”, “d”). Il testo della riga restituita non ha un separatore di riga alla fine.list to csv table
list from csv row
Analizza un testo come una riga formattata CSV (valori separati da virgola) per produrre un elenco di campi. Ad esempio, la conversione (“a”, “b”, “c”, “d”) in un elenco produce (abcd).list from csv table
Analizza un testo come una tabella formattata CSV (valori separati da virgola) per produrre un elenco di righe, ognuna delle quali è un elenco di campi. Le righe possono essere separate da newline (\ n) o CRLF (\ r \ n).lookup in pairs – Ricerca in coppia
Utilizzato per cercare informazioni in una struttura simile a un dizionario rappresentata come un elenco. Questa operazione accetta tre input:- una chiave,
- una coppia di elenchi (
pairs
) - e un risultato notFound, che per impostazione predefinita è impostato su “non trovato”.
Qui le coppie devono essere un elenco di coppie, ovvero un elenco in cui ogni elemento è esso stesso un elenco di due elementi. Lookup in pairs
trova la prima coppia nell’elenco il cui primo elemento è la chiave e restituisce il secondo elemento.
lookup in pairs
verrà restituito il parametro notFound . Se pairs
non è un elenco di coppie, quindi l’operazione segnalerà un errore. Ecco un esempio:join with separator – Unisci con separatore
Unisce tutti gli elementi nell’elenco specificato dal separatore specificato, producendo testo di conseguenza.OPERATORI FUNZIONALI DI LISTE (Functional List Operators)
La programmazione funzionale è un paradigma di programmazione in cui i programmi vengono costruiti componendo funzioni pure, evitando stati condivisi, dati mutabili ed effetti collaterali (side effects). Molti operatori nella programmazione funzionale sono comunemente usati per rendere il codice più conciso e meno complesso.
make new list (mapped)
Crea un nuovo elenco mappando ogni elemento nell’elenco di input a un nuovo valore usando l’espressione fornita. Il corpo Mapping each item to (Mappatura di ogni elemento a) è un’espressione che manipola ogni elemento nell’elenco. Utilizzare il nome della variabile specificato, ITEM, per fare riferimento all’elemento dell’elenco corrente.
make new filtered list
Crea un nuovo elenco mantenendo ogni elemento nell’elenco di input che soddisfa il test. Il corpo Keeping each item passing test (Mantenere ogni articolo che passa il test) è un’espressione booleana che controlla se un elemento supera il test. Se il corpo restituisce true, l’elemento viene aggiunto al nuovo elenco. Utilizzare il nome della variabile specificata, ITEM, per fare riferimento all’elemento dell’elenco corrente.
reduce list (to a single value)
Restituisce un valore accumulato riducendo l’elenco di input. Se l’elenco di input è vuoto, viene restituito initialAnswer. In caso contrario, answerSoFar (risposta fino ad ora) viene inizializzato su initialAnswer (risposta iniziale). Il blocco del corpo by Combining item and answer so far (Combinando voce e risposta finora) verrà valutato utilizzando answerSoFar e ogni ITEM nell’elenco di input.
sort list in ascending order
Crea un nuovo elenco ordinando l’elenco di input in ordine crescente. Questa è una procedura di ordinamento generica che funziona su elenchi di qualsiasi tipo. Raggruppa gli elementi dello stesso tipo e quindi li ordina di conseguenza all’interno dello stesso gruppo di tipi. L’ordine corrente dei tipi è booleani, numeri, stringhe, elenchi e quindi componenti. Per i valori booleani, false è definito come minore di true. I componenti vengono prima confrontati con i loro nomi di classe. Se sono istanze della stessa classe, i loro codici hash vengono utilizzati per il confronto.
sort list with a specified comparator
Crea un nuovo elenco dall’ordinamento dell’elenco di input in un ordine specificato dal corpo del blocco. Il corpo di questo blocco è un’espressione booleana che coinvolge item1 e item2 e restituisce true o false. Se il corpo restituisce true, item1 viene unito prima di item2 nell’ordinamento. Se il corpo restituisce false, item2 viene unito prima di item1 nell’ordinamento. Utilizzare i nomi delle variabili forniti, elemento1 e elemento2, per fare riferimento ai due elementi dell’elenco corrente che vengono confrontati.
sort list with key
Crea un nuovo elenco dall’ordinamento dell’elenco di input con i tasti in ordine crescente. Le chiavi sono valori proxy generati da ciascun elemento nell’elenco dal corpo di questo blocco.
minimum value in list
Restituisce il numero minimo nell’elenco di input.
maximum value in list
Restituisce il numero massimo nell’elenco di input.
all but first
Restituisce un elenco senza il primo elemento nell’elenco di input.
all but last
Restituisce un elenco senza l’ultimo elemento nell’elenco di input.
list slices
Restituisce un elenco tagliando l’elenco di input in corrispondenza dei due indici indicati. L’elenco restituito contiene gli elementi dell’elenco di input che inizia da index1 fino a index2 escluso.
Thunkable
Anche se AI2 ha molti più blocchi, Thunkable da parte sua ha blocchi che rendono la programmazione più semplice senza usare il costrutto For Each in List, e poi il Sort List lo ritengo fondamentale. Non esistono blocchi che si rifanno agli indici (index in list, insert list item).
Vediamo i blocchi che si differenzianoda AI2:
List of item repeated X Times
Crea un elenco di un determinato elemento ripetuto un numero specificato di volte.
List of numbers from X to Y
Crea una lista tra due numeri, con un incremento scelto.
Per esempio. l’elenco da 1 a 5 per 1 è [1, 2, 3, 4, 5]. L’elenco da 2 a 10 per 2 è [2, 4, 6, 8, 10]
Sort List
Il tallone d’Achille di AI2 è la mancanza di ordinamento e la ricerca di duplicati. Certo, coi blocchi di loop si può fare quasi tutto, ma perchè non implementare le operazioni ripettitive con blocchi già pronti? Fin quando non ci arriva dagli ingegneri del MIT, vi consiglio di sperimentare, provare e custodire gelosamente quelle parti di codice, vi serviranno sicuramente in seguito.
Se stai importando un elenco da un foglio di calcolo o da un’altra origine dati, potrebbe essere utile ordinarlo nella tua app. È possibile ordinare un elenco in ordine alfabetico o numerico, crescente o decrescente.
Sum, Min, Max, Averages, Standard Deviation, Random Item
Restituisce il risultato dell’operazione scelta su un elenco di numeri. Restituisce NaN se l’operazione non può essere eseguita sull’elenco di valori specificato.
Get Sub-list
Restituisce un sottoelenco di elementi tra due posizioni in un elenco più lungo.
Insert At/Set
Questo blocco INSERT inserirà un elemento nella posizione specificata o SET imposterà l’elemento nella posizione specificata sul nuovo valore.
Aggiornato al 01/01/2021 | |
Aggiornato al 01/01/2021 | |
Aggiornato al 15/02/2023 |
PDF Lista comparazione dei componenti di AI2 KODULAR THUNKABLEX agg.20210911
Vuoi avere più informazioni sul Coding visuale? Vai alla pagina dei Blocchi incorporati dove potrai imparare a scrivere il linguaggio di programmazione per App Inventor 2, Kodular e Thunkable X. Visita la pagina del Blog con le ultime notizie sulle le tre piattaforme. Nella pagina Documentazione troverai i collegamenti ai forum, il glossario, i link ai siti dei migliori programmatori, i download e tanti altri accessori.