Je suis nouveau sur python pouvez-vous s'il vous plaît m'aider avec la question ci-dessous

J'ai une liste comme celle-ci:

lst = ["qwerty", "asdf", "   Bird", "#Bird", "Bird", "%qwerty"]

Je dois copier ceci dans new_lst, où je dois copier uniquement les chaînes commençant par les alphabets

Ex:

new_lst = ["qwerty", "asdf", "Bird"]

Je ne veux pas copier de chaîne commençant par un caractère spécial comme l'espace, #, etc.

Comment puis-je faire ceci

2
reka 18 mars 2019 à 11:07

2 réponses

Meilleure réponse

Essayez d'utiliser la compréhension de la liste:

list1 = ["qwerty", "asdf", " Bird", "#Bird", "Bird", "%qwerty"]
list2 = [a for a in list1 if a[0].isalpha()]

Essayez de ne pas attribuer de nom de variable en tant que list.

SORTIE :

['qwerty', 'asdf', 'Bird']
2
Arkistarvh Kltzuonstev 18 mars 2019 à 08:09

Une autre approche consiste à utiliser filter et lambda

lst = ["qwerty", "asdf", "   Bird", "#Bird", "Bird", "%qwerty"]
new_lst = filter(lambda x: x[0].isalpha() , lst)
print(new_lst)

Production

['qwerty', 'asdf', 'Bird']
0
balderman 18 mars 2019 à 08:20