J'ai donc reçu une liste ici: et je veux que sa sortie soit ceci afin que tous les numéros de ma liste soient maintenant "flotteurs" mais de la chaîne toujours: P > list1 = [float(x) for x in list1 if is_number(x)]
list1 = [str(x) for x in list1]
3 Réponses :
Vous pouvez utiliser une expression régulière: sortie: p>
Vous pouvez utiliser l'essai / sauf la déclaration pour tenter une conversion et renvoyer les chaînes d'origine quand elle échoue:
def floater(s):
try: return str(float(s))
except: return s
list1 = ["yo dog", "-2", "it's ya boi", "jake", "69.420"]
result = list(map(floater,list1))
print(result)
['yo dog', '-2.0', "it's ya boi", 'jake', '69.42']
list1 = ["yo dog", "2", "it's ya boi", "jake", "69.420"]
float_list = []
for string in list1:
try:
float_list.append(str(float(string)))
except ValueError:
#float_list.append(string) # if you want to keep string
pass # if you don't want the string
print(float_list)
Cela ajoutera des flotteurs et une optique qui veut toujours des chaînes
[str (float (x)) si x.lstrip ('-'). ISDigit () Sinon x pour x dans la liste1] code> modifiéltrim () code> au correct < Code> lstrip () code>@Stevenrumbalski Damn qui est incroyable, c'est plus court que les autres mecs Thx Babe