Domanda

Esiste una funzione in Python per dividere una parola in un elenco di singole lettere? per esempio:

s="Word to Split"

per ottenere

wordlist=['W','o','r','d','','t','o' ....]
È stato utile?

Soluzione

>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']

Altri suggerimenti

Il modo più semplice è probabilmente solo quello di usare list () , ma c'è almeno un'altra opzione:

s = "Word to Split"
wordlist = list(s)               # option 1, 
wordlist = [ch for ch in s]      # option 2, list comprehension.

Dovrebbero entrambi darti ciò di cui hai bisogno:

['W','o','r','d',' ','t','o',' ','S','p','l','i','t']

Come detto, il primo è probabilmente il più preferibile per il tuo esempio, ma ci sono casi d'uso che possono rendere quest'ultimo abbastanza utile per cose più complesse, come se si desidera applicare una funzione arbitraria agli oggetti, come con :

[doSomethingWith(ch) for ch in s]

Abuso delle regole, stesso risultato:     (x per x in "Parola da dividere")

In realtà un iteratore, non un elenco. Ma è probabile che non ti interesserà davvero.

La funzione elenco lo farà

>>> list('foo')
['f', 'o', 'o']
text = "just trying out"

word_list = []

for i in range(0, len(text)):
    word_list.append(text[i])
    i+=1

print(word_list)

['j', 'u', 's', 't', ' ', 't', 'r', 'y', 'i', 'n', 'g', ' ', 'o', 'u', 't']
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top