2009-12-25 7 views
0
b=','.join([1,2,3,4,5]) 
print b 

je le veux pour imprimer la chaîne: '1,2,3,4,5'pourquoi mon « join » fonction run mal

Dans vos réponses, s'il vous plaît essayer d'utiliser des exemples de code plutôt que du texte, parce que mon anglais est pas très bon. Je vous remercie.

+1

À quoi pensez-vous? –

+0

je veux imprimer '1,2,3,4,5' – zjm1126

+0

C'était un problème de types "TypeError: séquence élément 0: chaîne attendue, int trouvé" – johnnyArt

Répondre

7
b = ','.join(map(str, [1,2,3,4,5])) 
# => '1,2,3,4,5' 

Python ne se transforme pas automatiquement les ints en chaînes - vous devez les convertir en chaînes, puis les rejoindre.

4

La fonction de jointure attend des chaînes non entières, si vous avez fait b=','.join(["1","2","3","4","5"]) à la place cela fonctionne.

Voici la sortie des consoles:

>>> b=','.join(["1","2","3","4","5"]) 
>>> print b 
1,2,3,4,5 
>>> 
7

anystring.join prend un itérables de CORDES, pas l'un des entiers, qui est ce que vous passez à lui! Par conséquent, utilisez ','.join(str(x) for x in range(1, 6)) ou similaire.

Questions connexes