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.