<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ edangeli - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Impara a programmare gratuitamente! Tutorial di programmazione su Python, JavaScript, Linux e molto altro. ]]>
        </description>
        <link>https://www.freecodecamp.org/italian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ edangeli - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/italian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 19:16:15 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/italian/news/author/edangeli/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Da Stringa ad Array in Python – Come Convertire una Stringa in una Lista ]]>
                </title>
                <description>
                    <![CDATA[ Ci saranno volte in cui avrai bisogno di convertire un tipo di dato in un altro. Non temere, poiché  Python offre diversi modi per svolgere questa operazione. In questo articolo, vedremo alcuni dei modi per convertire una stringa in una lista. Tratteremo i seguenti argomenti:  1. Una panoramica su ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/da-stringa-ad-array-in-python-come-convertire-una-stringa-in-una-lista/</link>
                <guid isPermaLink="false">66824c83b3d5b00437d67789</guid>
                
                    <category>
                        <![CDATA[ Python ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ edangeli ]]>
                </dc:creator>
                <pubDate>Mon, 01 Jul 2024 16:35:24 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2024/07/steve-johnson-8VO-UxlJ-Lw-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/python-string-to-array-how-to-convert-text-to-a-list/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Python String to Array – How to Convert Text to a List</a>
      </p><p>Ci saranno volte in cui avrai bisogno di convertire un tipo di dato in un altro.</p><p>Non temere, poiché &nbsp;Python offre diversi modi per svolgere questa operazione.</p><p>In questo articolo, vedremo alcuni dei modi per convertire una stringa in una lista.</p><p>Tratteremo i seguenti argomenti:</p><!--kg-card-begin: markdown--><ol>
<li><a href="#cosa-sono-le-stringhe-e-le-liste-in-python">Una panoramica su stringhe e liste</a>
<ol>
<li><a href="#come-determinare-il-tipo-di-dato-di-un-oggetto-in-python">Come verificare il tipo di dato di un oggetto</a></li>
</ol>
</li>
<li><a href="#come-convertire-una-stringa-in-una-lista-di-singoli-caratteri">Convertire una stringa in una lista di singoli caratteri</a></li>
<li><a href="#come-convertire-una-stringa-in-una-lista-di-parole">Convertire una stringa in una lista di parole</a>
<ol>
<li><a href="#analisi-del-metodo-split-in-python">Analisi della sintassi del metodo <code>split()</code></a></li>
<li><a href="#come-utilizzare-il-metodo-split-con-un-separatore">Utilizzare <code>split()</code> con un separatore</a></li>
<li><a href="#come-usare-il-metodo-split-con-il-parametro-maxsplit">Utilizzare <code>split()</code> con il parametro <code>maxsplit</code></a></li>
</ol>
</li>
<li><a href="#come-convertire-una-stringa-di-numeri-interi-in-una-lista-di-numeri-interi">Convertire una stringa di numeri in una lista di numeri</a></li>
</ol>
<!--kg-card-end: markdown--><h2 id="cosa-sono-le-stringhe-e-le-liste-in-python"><strong>Cosa sono le stringhe e le liste in Python?</strong></h2><p>Una <strong><strong>string</strong>a</strong> è una sequenza ordinata di caratteri. È una serie di caratteri, in cui un carattere segue l'altro.</p><p>Una stringa è racchiusa tra virgolette singole o doppie:</p><pre><code class="language-python"># le seguenti sono tutte stringhe

# una stringa compresa tra virgolette singole
first_name = 'John'

# una stringa compresa tra virgolette doppie
last_name = "Doe"
</code></pre><p>Se desideri creare una stringa che si estende su più righe - una cosiddetta stringa multiriga - devi racchiuderla utilizzando le virgolette triple:</p><pre><code class="language-python"># una stringa multiriga compresa tra virgolette triple

phrase = '''Sto studiando Python
e mi piace molto imparare questo linguaggio!
'''
</code></pre><p>Le stringhe sono <em>immutabili</em>. Questo significa che una volta create, non possono essere modificate. I singoli caratteri che costituiscono una stringa non possono essere alterati.</p><p>Per esempio, se cercassi di cambiare la prima lettera di una parola da minuscola a maiuscola, otterresti un errore:</p><pre><code class="language-python"># prova a cambiare 'p' minuscola in 'P' maiuscola
fave_language = "python"
fave_language[0] = "P"

print(fave_language)

# il risultato sarà un messaggio di errore
#fave_language[0] = "P"
#TypeError: 'str' object does not support item assignment
</code></pre><p>Tuttavia, puoi riassegnare una stringa diversa aggiornando la variabile in questo modo:</p><pre><code class="language-python">fave_language = "python"
fave_language = "Python"

print(fave_language)

#risultato
#Python
</code></pre><p>Una <strong><strong>lis</strong>ta</strong> è una collezione ordinata di dati.</p><p>Più elementi (in genere correlati) sono memorizzati insieme nella stessa variabile.</p><p>È possibile creare una lista racchiudendo zero o più elementi tra parentesi quadre, <code>[]</code>, ognuno separato da una virgola.</p><p>Una lista può contenere qualsiasi tipo di dato integrato in Python.</p><pre><code class="language-python"># una lista di numeri
my_numbers_list = [10,20,30,40,50]

print(my_numbers_list)

# risultato
# [10, 20, 30, 40, 50]
</code></pre><p>Le liste sono <em>mutabili</em>.</p><p>Puoi modificare gli elementi di una lista dopo che è stata creata. Ciò significa che puoi modificare gli elementi esistenti, aggiungerne di nuovi o eliminarli in qualsiasi momento durante la vita del programma.</p><pre><code class="language-python">programming_languages = ["Javascript", "Python", "Java"]

#cambia il primo elemento della lista
programming_languages[0] = "JavaScript"

print(programming_languages)

#risultato
#['JavaScript', 'Python', 'Java']
</code></pre><h3 id="come-determinare-il-tipo-di-dato-di-un-oggetto-in-python">Come determinare il tipo di dato di un oggetto in Python</h3><p>Per trovare il tipo di dato di un oggetto in Python, puoi utilizzare la funzione incorporata <code>type()</code>, che ha la seguente sintassi:</p><pre><code class="language-python">type(object)

#object è l'oggetto di cui devi trovare il tipo di dato
</code></pre><p>La funzione <code>type()</code> restituisce il tipo dell'oggetto passato come argomento alla funzione.</p><p>Questa funzione è di solito utilizzata per il debug.</p><p>Vediamo come usare la funzione <code>type()</code> con stringhe e liste nel prossimo esempio:</p><pre><code class="language-python">my_name = "John Doe"
my_lucky_numbers = [7,14,33]

print(type(my_name))
print(type(my_lucky_numbers))

#risultato
#&lt;class 'str'&gt;
#&lt;class 'list'&gt;
</code></pre><h2 id="come-convertire-una-stringa-in-una-lista-di-singoli-caratteri"><strong>Come convertire una stringa in una lista di singoli caratteri</strong></h2><p>Puoi prendere una parola e trasformarla in una lista.</p><p>Ogni singolo carattere che compone la parola diventa un elemento individuale e separato all'interno della lista.</p><p>Per esempio, prendiamo la parola "Python".</p><p>Puoi convertirla in una lista di caratteri, dove ogni elemento della lista corrisponde ad uno dei caratteri che costituisce la stringa "Python".</p><p>Ciò significa che il carattere <code>P</code> sarebbe un elemento della lista, il carattere &nbsp;<code>y</code> sarebbe un altro elemento della lista, il carattere <code>t</code> sarebbe un ulteriore elemento e così via.</p><p>Il modo più semplice consiste nel trasformare la stringa in una lista, metodo noto come typecasting (conversione di tipo).</p><p>Il typecasting permette di convertire direttamente un tipo di dato in un altro – in questo caso dal tipo di dato denominato 'stringa' al tipo di dato chiamato 'lista'.</p><p>Puoi fare ciò utilizzando la funzione incorporata <code>list()</code>, passando la stringa data come argomento della funzione.</p><pre><code class="language-python">programming_language = "Python"

programming_language_list = list(programming_language)

print(programming_language_list)

#risultato
#['P', 'y', 't', 'h', 'o', 'n']
</code></pre><p>Vediamo un altro esempio:</p><pre><code class="language-python">current_routine = " Learning Python ! "

current_routine_list = list(current_routine)

print(current_routine_list)

#risultato
#[' ', 'L', 'e', 'a', 'r', 'n', 'i', 'n', 'g', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', '!', ' ']
</code></pre><p>Il testo <code>" Learning Python ! "</code> ha spazi vuoti sia all'inizio che alla fine (tra le doppie virgolette e Learning, tra il punto esclamativo e le doppie virgolette), spazi vuoti tra le parole "Learning" e "Python" e spazi vuoti tra la parola "Python" e il punto esclamativo.</p><p>Quando la stringa viene convertita in una lista di caratteri, ogni spazio vuoto viene trattato come un singolo carattere ed è per questo che si vedono gli spazi vuoti tra virgolette singole ( <code>' '</code>) come elementi della lista.</p><p>Per rimuovere gli spazi vuoti solo dall'inizio e dalla fine della stringa, puoi utilizzare il metodo <code>strip()</code> .</p><pre><code class="language-python">current_routine = " Learning Python ! "

#gli spazi vuoti all'inizio e alla fine non saranno più elementi facenti parte della lista 

current_routine_list = list(current_routine.strip())

print(current_routine_list)

#risultato
#['L', 'e', 'a', 'r', 'n', 'i', 'n', 'g', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', '!']
</code></pre><p>Per rimuovere <em>tutti</em> gli spazi vuoti, e non solo quelli iniziali e finali, e fare in modo che nessun carattere di spazio vuoto sia compreso nella nuova lista, puoi utilizzare invece il metodo <code>replace()</code>:</p><pre><code class="language-python">current_routine = " Learning Python ! "

#sostituisce ogni spazio vuoto con nessuno spazio
current_routine_list = list(current_routine.replace(" ", ""))

print(current_routine_list)

#risultato
#['L', 'e', 'a', 'r', 'n', 'i', 'n', 'g', 'P', 'y', 't', 'h', 'o', 'n', '!']
</code></pre><h2 id="come-convertire-una-stringa-in-una-lista-di-parole"><strong>Come convertire una stringa in una lista di parole</strong></h2><p>Il metodo <code>split()</code> è un altro modo per convertire una stringa in una lista.</p><p>Il metodo <code>split()</code> divide una stringa in una lista, dove ogni elemento della lista corrisponde ad una rispettiva parola che compone la stringa.</p><p>Ogni parola sarà un singolo elemento della lista.</p><h3 id="analisi-del-metodo-split-in-python"><strong>Analisi del metodo <code>split()</code> in Python</strong></h3><p>La sintassi generale del metodo <code>split()</code> è la seguente:</p><pre><code class="language-python">string.split(separator=None, maxsplit=-1)
</code></pre><p>Vediamo come è strutturata:</p><ul><li><code>string</code> è la stringa che si vuole trasformare in una lista.</li><li>Il metodo <code>split()</code> trasforma una stringa in una lista. Accetta due parametri <em><em>op</em>z<em>ional</em>i</em>.</li><li><code>separator</code> è il primo parametro opzionale e definisce il punto in cui la stringa sarà divisa. Per impostazione predefinita, il separatore è uno spazio vuoto e la stringa verrà divisa ovunque ci sia uno spazio vuoto.</li><li><code>maxsplit</code> è il secondo parametro opzionale. Specifica il numero massimo di divisioni da eseguire. Il valore predefinito, <code>-1</code>, significa che la stringa viene suddivisa in tutta la sua lunghezza e non ci sono limiti alla suddivisione.</li></ul><p>Vediamo un esempio di come funziona.</p><pre><code class="language-python">phrase = "I am learning Python !"

print(type(phrase))

#risultato
#&lt;class 'str'&gt;
</code></pre><p>Nella stringa sopra, ogni parola che la compone è separata da uno spazio vuoto.</p><p>Puoi utilizzare il metodo <code>split()</code> per trasformare questa stringa in una lista di parole.</p><p>Non è necessario che specifichi un separatore o un parametro <code>maxsplit</code>, poiché vogliamo separare tutte le parole ovunque ci siano spazi vuoti tra di esse.</p><pre><code class="language-python">phrase = "I am learning Python !"

phrase_to_list = phrase.split()

print(phrase_to_list)
print(type(phrase_to_list))


#risultato
#['I', 'am', 'learning', 'Python', '!']
#&lt;class 'list'&gt;
</code></pre><p>La stringa è stata suddivisa in base a dove c'erano spazi vuoti e ogni parola che la costituiva è stata trasformata in un singolo elemento della lista.</p><h3 id="come-utilizzare-il-metodo-split-con-un-separatore"><strong>Come utilizzare il metodo <code>split()</code> con un separatore</strong></h3><p>Puoi anche convertire una stringa in una lista utilizzando un separatore con il metodo <code>split()</code>. Il separatore può essere un qualsiasi carattere da te scelto.</p><p>La stringa verrà divisa in base al separatore da te dato.</p><p>Ad esempio, puoi usare una virgola, <code>,</code>, come separatore.</p><p>La stringa si trasformerà in una lista ogni volta che c'è una virgola, partendo da sinistra.</p><p>Gli elementi separati da una virgola saranno i singoli elementi della lista.</p><p>Prendiamo la stringa seguente:</p><pre><code class="language-python">phrase = "Hello world,I am learning Python!"
</code></pre><p>Una virgola separa <code>Hello world</code> da <code>I am learning Python!</code>.</p><p>Se desideriamo usare la virgola come separatore per creare due singoli elementi della lista, procederemo come segue:</p><pre><code class="language-python">phrase = "Hello world,I am learning Python!"

phrase_to_list = phrase.split(",")

print(phrase_to_list)

#risultato
#['Hello world', 'I am learning Python!']
</code></pre><p>Due elementi separati sono stati creati come elementi della lista e la divisione è avvenuta dove c'era la virgola.</p><p>Un altro esempio potrebbe essere quello di separare un nome di dominio, ogni volta che c'è un punto, <code>.</code>.</p><pre><code class="language-python">domain_name = "www.freecodecamp.org"

domain_name_list = domain_name.split(".")

print(domain_name_list)

#risultato
#['www', 'freecodecamp', 'org']
</code></pre><p>Ogni volta che c'è un punto, un nuovo elemento sarà aggiunto alla lista.</p><h3 id="come-usare-il-metodo-split-con-il-parametro-maxsplit"><strong>Come usare il metodo <code>split()</code> con il parametro <code>maxsplit</code> </strong></h3><p>Come menzionato in precedenza, <code>maxsplit</code> è un parametro opzionale del metodo <code>split()</code>.</p><p>Definisce quanti elementi della lista verranno divisi e trasformati in singoli elementi della lista. Di default, il parametro <code>maxsplit</code> è impostato a <code>-1</code>. Ciò significa che tutti gli elementi che compongono la stringa saranno divisi.</p><p>Ma possiamo cambiare il valore con un numero specifico.</p><p>Per dividere la stringa soltanto due volte, modifichiamo <code>maxsplit</code> a 2:</p><pre><code class="language-python">current_routine = "I enjoy learning Python everyday"

current_routine_list = current_routine.split(maxsplit=2)

print(current_routine_list)

#risultato
#['I', 'enjoy', 'learning Python everyday']
</code></pre><p><code>maxsplit</code> è impostato a <code>2</code>, il che significa che massimo due parole saranno divise da uno spazio e costituiranno due singoli elementi della lista. Il terzo elemento della lista sarà costituito dal resto delle parole che compongono la stringa iniziale.</p><p>Utilizzando un altro esempio della sezione precedente, puoi combinare un separatore con <code>maxsplit</code> per eseguire una conversione mirata di una stringa in un elenco:</p><pre><code class="language-python">domain_name = "www.freecodecamp.org"

domain_name_list = domain_name.split(".", maxsplit=1)

print(domain_name_list)

#risultato
#['www', 'freecodecamp.org']
</code></pre><p>In questo esempio, il separatore era un punto e solo il primo elemento è stato separato.</p><h2 id="come-convertire-una-stringa-di-numeri-interi-in-una-lista-di-numeri-interi">Come convertire una stringa di numeri interi in una lista di numeri interi</h2><p>I numeri sono considerati stringhe quando sono racchiusi tra virgolette singole o doppie.</p><p>Supponiamo che la tua data di nascita sia memorizzata come una stringa, come di seguito:</p><pre><code class="language-python">birthdate = "19/10/1993"

print(type(birthdate))

#risultato
#&lt;class 'str'&gt;
</code></pre><p>Per rimuovere le barre e memorizzare i numeri associati alla data, al mese e all'anno di nascita come elementi separati della lista, puoi procedere così:</p><pre><code class="language-python">birthdate = "19/10/1993"

birthdate_list = birthdate.split("/")

print(birthdate_list)
print(type(birthdate_list))

#risultato
#['19', '10', '1993']
#&lt;class 'list'&gt;
</code></pre><p>Nell'esempio qui sopra il separatore era la barra, <code>/</code>, e un nuovo elemento della lista è stato creato in ogni punto in cui c'era una barra.</p><p>Se osservi attentamente il risultato, vedrai che gli elementi della lista sono ancora stringhe: sono racchiusi da virgolette singole e non è stata effettuata alcuna conversione di tipo.</p><p>Per convertire ogni elemento della lista da una stringa a un numero intero, puoi usare la funzione <code>map</code>.</p><p>La funzione <code>map</code> prende due argomenti:</p><ul><li>Una funzione. In questo caso la funzione sarà la funzione <code>int</code>.</li><li>Un iterabile, ovvero una sequenza o una collezione di elementi. In questo caso, l'iterabile è la lista da noi creata.</li></ul><pre><code class="language-python">birthdate = "19/10/1993"

birthdate_list = birthdate.split("/")

str_to_int = (map(int, birthdate_list))

print(str_to_int)

#risultato
#&lt;map object at 0x10e289960&gt;
</code></pre><p>Questo non è esattamente il risultato che volevamo. Quando controlliamo il tipo di dato, vediamo che non abbiamo più una lista:</p><pre><code class="language-python">print(type(str_to_int))

#risultato
#&lt;class 'map'&gt;
</code></pre><p>Per correggere questo problema, dobbiamo tornare indietro e aggiungere la funzione <code>list()</code> prima della conversione:</p><pre><code class="language-python">birthdate = "19/10/1993"

birthdate_list = birthdate.split("/")

str_to_int = list(map(int, birthdate_list))

print(type(str_to_int))
print(str_to_int)

#risultato
#&lt;class 'list'&gt;
#[19, 10, 1993]
</code></pre><h2 id="conclusioni"><strong>Conclusioni</strong></h2><p>Ed ecco fatto! Ora conosci alcuni dei modi per trasformare una stringa in una lista in Python.</p><p>Per saperne di più sul linguaggio di programmazione Python, dai un'occhiata alla certificazione di freeCodeCamp <a href="https://www.freecodecamp.org/learn/scientific-computing-with-python/">Scientific Computing with Python Certification</a>.</p><p>È un corso adatto anche ai principianti, ti permetterà di partire dalle basi ed imparare in modo facile ed interattivo. Inoltre, avrai modo di realizzare cinque progetti per mettere in pratica e rafforzare quanto imparato.</p><p>Grazie per il tempo dedicato alla lettura e buona programmazione!</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
