0
votes

Conversion d'une liste avec Python

J'ai une grande liste de noms qui est dans ce format

list1 = ["'apple'", "'orange'", "'banana'", "'pine-apple'"]

Et je le veux dans ce format

list1 = ["apple", "orange", "banana", "pine-apple"]

Fondamentalement, je souhaite ajouter des signes de ponctuation à chaque mot de la liste, mais comme la liste est trop grande, je ne peux pas le faire manuellement. Alors, y a-t-il une fonction ou un moyen python de faire cette tâche. Merci.


1 commentaires

Vous voulez donc un moyen automatisé d'éditer le code python dans votre éditeur de texte? Quel éditeur de texte utilisez-vous?


3 Réponses :


2
votes

Les noms en python sont déjà des chaînes entre guillemets comme vous l'avez montré ici. Je suppose que vous voulez envelopper la chaîne avec une citation spécifique pour regarder cette '"apple"' ou "'apple'" . Pour ce faire, vous devez utiliser l'extrait de code suivant

q = "'" # this will be wrapped around the string

list1 = ['apple','orange','banana','pine-apple']
list1 = [q+x+q for x in list1]

Pour référence, la syntaxe que j'ai utilisée dans la dernière ligne est connue sous le nom de compréhension de liste

Selon le dernier commentaire posté par @xdhmoore

Si vous utilisez vim / nano (linux / macos) ou le bloc-notes (Windows), je vous suggère plutôt d'utiliser IDLE python (livré avec la configuration python)


0 commentaires

0
votes

La fonction Str est la fonction intégrée pour convertir une valeur en chaîne. Vous pouvez exécuter ce code;

 For i in range(len(list1)):
       new = str(list1[i])
       list1.remove(list[i])
       list1.append(new)


0 commentaires

0
votes

Utilisation for boucle for pour traiter chaque ligne, deux façons de procéder

text = "list1 = [apple,orange,banana,pine-apple]"
new_text2 = text.replace('[', '["').replace(']', '"]').replace(',', '","')
text = "list1 = [apple,orange,banana,pine-apple]"
start = text.find('[')+1
stop  = text.find(']')
lst = text[start:stop].split(',')                       # ['apple', 'orange', 'banana', 'pine-apple']
new_lst = [f'"{item}"' for item in lst]                 # ['"apple"', '"orange"', '"banana"', '"pine-apple"']
new_text1 = text[:start]+','.join(new_lst)+text[stop:]  # 'list1 = ["apple","orange","banana","pine-apple"]'


0 commentaires