Python converte la tupla in stringa


98

Ho una tupla di caratteri come tale:

('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e')

Come lo converto in una stringa in modo che sia come:

'abcdgxre'

1
Prova anche questoreduce(add, ('a', 'b', 'c', 'd'))
— Grijesh Chauhan

cosa c'è addin questo esempio @GrijeshChauhan?
— Steve

@Steve Devi importare la addfunzione dal operatormodulo. Btw si "".joinadatta meglio qui, ma se vuoi aggiungere diversi tipi di oggetti puoi usare aggiungi Controlla questo esempio di lavoro
— Grijesh Chauhan

Risposte:


165

Usa str.join:

>>> tup = ('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e')
>>> ''.join(tup)
'abcdgxre'
>>>
>>> help(str.join)
Help on method_descriptor:

join(...)
    S.join(iterable) -> str

    Return a string which is the concatenation of the strings in the
    iterable.  The separator between elements is S.

>>>

23
Non funziona se la tupla contiene numeri. Prova tup = (3, Nessuno, Nessuno, Nessuno, Nessuno, 1406836313736)
— Raj

56
Per i numeri puoi provare questo:''.join(map(str, tup))
— Mo Beigi

27

ecco un modo semplice per utilizzare join.

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

13

Funziona:

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

Produrrà:

'abcdgxre'

Puoi anche utilizzare un delimitatore come una virgola per produrre:

'a,b,c,d,g,x,r,e'

Usando:

','.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

3

Il modo più semplice sarebbe usare join in questo modo:

>>> myTuple = ['h','e','l','l','o']
>>> ''.join(myTuple)
'hello'

Questo funziona perché il tuo delimitatore è essenzialmente niente, nemmeno uno spazio vuoto: ''.


4
il tuo "myTuple" è un elenco btw
— bariod
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.