Si vous avez une chaîne comme ci-dessous, avec unicode caractères, vous pouvez l'imprimer et obtenir la version non évaluée: mais si nous avons une liste contenant la chaîne ci-dessus et l'imprimez-la : P> >>> s = u'åäö'
>>> s
u'\xe5\xe4\xf6'
>>> print s
åäö
>>> s = [u'åäö']
>>> s
[u'\xe5\xe4\xf6']
>>> print s
[u'\xe5\xe4\xf6']
5 Réponses :
est-ce satisfaisant?
Y a-t-il un tel contexte pour unicode code> strings? J'ai mis à jour ma question pour ce cas de chaînes UNICODE.
dans Python 2.x La valeur par défaut est ce que vous rencontrez:
>>> s = ['äåö'] >>> s ['äåö']
Est-il possible de l'afficher correctement dans Python 2.7 aussi?
Lorsque vous imprimez une chaîne, vous obtenez la sortie de la méthode Vous pouvez créer votre propre chaîne à la place: P> __ str __ code> de l'objet - dans ce cas, la chaîne sans guillemets. La méthode
__ str __ code> d'une liste est différente, elle crée une chaîne contenant l'ouverture et la fermeture
[] code> et la chaîne produite par la méthode
__ code> chaque objet contenu dans. Ce que vous voyez est la différence entre
__ str __ code> et
__ rep __ code>.
print u'[' + u','.join(u"'" + unicode(x) + u"'" for x in s) + u']'
@int_ua Vous pouvez faire une fonction récursive qui le gère correctement. Mais ce n'était pas la question.
C'était la meilleure réponse jusqu'à présent.
Une autre solution donne
[¤ã ¥ ö, ¤Ã ¥] p> p>
On peut utiliser cette classe wrapper: