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