0
votes

Comment modifier les types de données dans les tuples?

Je travaille avec une liste d'INT et de flotteurs et j'essaie de changer le deuxième paramètre à la chaîne.

Ce que j'ai est quelque chose comme ceci: p>

for i in range(len(array)):
  array[i][1] == str(array[i][1]) 


2 commentaires

Tout d'abord, == est à comparaison. Deuxièmement, les tuples sont immuables, vous devez donc créer une copie de chacun avec des valeurs différentes.


Les tuples sont immuables


5 Réponses :


1
votes
>>> array = [(12.0, 23),(9.0, 24)]
>>> [(x[0],str(x[1])) for x in array]
[(12.0, '23'), (9.0, '24')]
>>>

0 commentaires

2
votes

Les tuples sont immuables afin que vous ne puissiez pas simplement les changer. Vous devez en faire de nouveaux. Probablement plus facile avec une compréhension de liste: xxx pré>

Si vous devez modifier la liste en place, vous pouvez, mais vous avez toujours besoin de nouveaux tuples: P>

array = [(12.0, 23),(9.0, 24)]

for i, (a,b) in enumerate(array):
    array[i] = (a, str(b))

array
# (12.0, '23'), (9.0, '24')]


0 commentaires

0
votes
[tuple(map(str, xs)) for xs in lst]
[('12.0', '23',) , ('9.0', '24')]

result = []
    for xs in lst:
     temp = []
      for x in xs:
         temp.append(str(x))
      result.append(tuple(temp))



result
By the way tuples are something that cannot be changed i.e immutable 

0 commentaires

0
votes

Créer de nouveaux tuples (comme suggéré dans d'autres réponses) est généralement la bonne approche de cette situation, mais si vous devez également conserver les identités des éléments de la liste (si vous leur avez des références ailleurs), vous pouvez plutôt passer de tuples Pour répertorier: xxx

note, cependant, que, puisque que vous accédez à des éléments avec des indices littéraux (" [1] "), les tuples sont probablement plus corrects Tapez à utiliser. Vous auriez besoin de peser cette considération contre le bénéfice de mutabilité des listes.


0 commentaires

0
votes

En effet, les listes sont mutables mais des tuples sont immuables. Imputable signifie qu'ils ne peuvent pas être changés une fois qu'ils ont été attribués. Aussi la chaîne, le flotteur, les entiers sont toutes une structure de données Python immuable. Veuillez vous reporter au lien ci-dessous pour plus d'informations sur la liste des différences tuples.

https://realpython.com/python-lists-tuples/


0 commentaires