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.
3 Réponses :
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
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)
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)
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"]'
Vous voulez donc un moyen automatisé d'éditer le code python dans votre éditeur de texte? Quel éditeur de texte utilisez-vous?