J'ai donc une liste:
['x', 3, 'b']
et je veux que la sortie soit:
[x, 3, b]
Comment puis-je faire cela en python?
si je fais str (['x', 3, 'b']) j'en reçois un avec des guillemets, mais je ne veux pas de guillemets.
J'ai donc une liste:
['x', 3, 'b']
et je veux que la sortie soit:
[x, 3, b]
Comment puis-je faire cela en python?
si je fais str (['x', 3, 'b']) j'en reçois un avec des guillemets, mais je ne veux pas de guillemets.
Au lieu d'utiliser map
, je recommanderais d'utiliser une expression de générateur avec la capacité de join
d'accepter un itérateur:
def get_nice_string(list_or_iterator):
return "[" + ", ".join( str(x) for x in list_or_iterator) + "]"
Ici, join
est une fonction membre de la classe de chaînes str
. Il prend un argument: une liste (ou un itérateur) de chaînes, puis renvoie une nouvelle chaîne avec tous les éléments concaténés par, dans ce cas, ,
.
Vous pouvez supprimer tous les caractères d'une chaîne à l'aide de son translate()
méthode avec None
de la table
argument suivi par une chaîne de caractères contenant le personnage(s) que vous souhaitez supprimer pour son deletechars
argument.
lst = ['x', 3, 'b']
print str(lst).translate(None, "'")
# [x, 3, b]
Si vous utilisez une version de Python avant 2.6, vous aurez besoin d'utiliser l' string
module translate()
fonction de la place car la capacité de transmettre None
le table
argument n'a pas été ajoutés jusqu'à ce que la version 2.6 de Python. À l'aide, il ressemble à ceci:
import string
print string.translate(str(lst), None, "'")
À l'aide de l' string.translate()
fonction peut également travailler en 2.6+, afin de l'utiliser peut-être préférable.
Voici une session interactive montrant les étapes de @TokenMacGuy du one-liner. D'abord, il utilise l' map
de la fonction de convertir chaque élément de la liste pour une chaîne (en fait, il fait une nouvelle liste, ne convertissant les éléments de l'ancienne liste). Ensuite, il utilise la méthode de chaîne join
de combiner ces chaînes avec ', '
d'entre eux. Le reste est juste la mise en forme de chaîne, qui est assez simple. (Edit: cette instance est simple; mise en forme de chaîne, en général, peut être un peu complexe.)
Notez que l'utilisation de join
est un moyen simple et efficace pour construire une chaîne de caractères à partir de plusieurs sous-chaînes, beaucoup plus efficace que de le faire en ajoutant successivement les chaînes à la les chaînes, ce qui implique beaucoup de copie de derrière les coulisses.
>>> mylist = ['x', 3, 'b']
>>> m = map(str, mylist)
>>> m
['x', '3', 'b']
>>> j = ', '.join(m)
>>> j
'x, 3, b'
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.