2017-05-06 1 views
1

J'ai une chaîne que je veux ajouter à une liste, mais je ne veux pas que les guillemets simples soient ajoutés à l'élément de la liste.Python - Liste Sting sans guillemet simple

J'ai la chaîne suivante:

arcpy.Point(2748877.71681,-3785391.73006), arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961) 

Je veux pas ajouter ceci dans une liste, mais sans les guillemets simples. Je reçois actuellement ceci:

['arcpy.Point(2748877.71681,-3785391.73006), arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961)'] 

je dois avoir la sortie suivante plutôt:

[arcpy.Point(2748877.71681,-3785391.73006), arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961)] 

J'ai essayé cependant, les deux éléments suivants, ils ont tous deux ne fonctionnent pas:

>>> area_array = "arcpy.Point(2748877.71681,-3785391.73006), arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961)" 
>>> area_array_list = ["{}".format(area_array)] 
>>> area_array_list_str ="[{}]".format(area_array) 
['arcpy.Point(2748877.71681,-3785391.73006), arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961)'] 
"[arcpy.Point(2748877.71681,-3785391.73006), arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961)]" 

Le area_array_list me donne la liste mais avec les guillemets simples et le area_array_list_str me donne juste un résultat de chaîne (pas une liste).

Merci pour toute aide.

+1

Les citations ne font pas partie de la chaîne. Ils montrent qu'il est représenté comme une chaîne, donc vous ne pouvez pas les éviter. Ce sera ''[text1, text2 ...]' ',' [' text1, text2, ... '] 'ou, que vous avez omis mais est le plus raisonnable' [' tex1 ',' text2 ' , ...] '. – JohanL

+0

Alors, n'y a-t-il aucun moyen de les éviter et d'obtenir le résultat dont j'ai besoin? – Genspec

+1

Que voulez-vous vraiment. Lorsque vous imprimez votre piqûre, il sera affiché sans les guillemets. – JohanL

Répondre

1

Comme cela a été suggéré, vous devez utiliser eval avec le constructeur list pour l'inclure dans une liste. Le simple fait d'utiliser [] ne fonctionnera pas car l'eval créera un tuple, pas une liste.

list(eval('arcpy.Point(2731755.82248,-3765823.85082), arcpy.Point(2751323.70172,-3758485.8961)')) 

La sortie ne sera pas exactement ce que vous y avez énuméré puisque les fonctions exécuteront (rassurez-vous ce que vous avez énumérés est impossible sans les guillemets), mais il devrait être tout aussi utile.

+1

Merci beaucoup Peter G. Ce qui fonctionne pour moi. – Genspec