J'ai donc une liste de valeurs numériques qui sont de type chaîne. Certains des éléments de la liste contiennent plus d'une valeur numérique, par exemple:Transformer la liste de chaînes en entiers, mais la sortie est fractionnement des chiffres au lieu de
AC_temp= ['22', '45, 124, 12', '14', '12, 235']
Je suis en train de transformer chacun de ces éléments en entiers, tout en conservant les sous-listes/tuples, donc Je veux que ça ressemble à:
AC_temp=[22, [45, 124, 12], 14, [12, 235]]
Quand je lance ce qui suit:
for x in AC_temp:
if "," in x: #multiple values
val= x.split(",")
print(val)
Je reçois la sortie, je pense:
['187', '22']
['754', '17']
['417', '7']
['819', '13']
['606', '1']
['123', '513']
Mais lorsque je tente de les transformer en ints par les éléments suivants:
for x in AC_temp:
if "," in x:
val= x.split(",")
for t in val:
AC.append(map(int, t))
else:
AC.append(map(int, x)
#print output#
for i in AC:
print(i)
Il imprime les chiffres séparément en tant que tel:
[1, 8, 7]
[2, 2]
[7, 5, 4]
[1, 7]
[4, 1, 7]
[7]
[8, 1, 9]
[1, 3]
[6, 0, 6]
[1]
[1, 2, 3]
[5, 1, 3]
Qu'est-ce que je fais de mal?
Copie possible de [Comment convertir les chaînes en entiers en Python?] (https://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python) – scharette