HOWTO · Python

Corriger l'erreur STR Object Does Not Support Item Assignment en Python

Comment corriger l'erreur str object does not support item assignment en Python.

Sur cette page

En Python, les chaînes sont immuables, nous obtiendrons donc l’erreur str object does not support item assignment lors de la tentative de modification de la chaîne.

Vous ne pouvez pas apporter de modifications à la valeur actuelle de la chaîne. Vous pouvez soit le réécrire complètement, soit le convertir d’abord en une liste.

Tout ce guide est consacré à la résolution de cette erreur. Plongeons dedans.

Correction de l’erreur str object does not support item assignment dans Python

Comme les chaînes sont immuables, nous ne pouvons pas affecter une nouvelle valeur à l’un de ses index. Jetez un oeil au code suivant.

# String Variable
string = "Hello Python"

# printing Fourth index element of the String
print(string[4])

# Trying to Assign value to String
string[4] = "a"

Le code ci-dessus donnera o en sortie, et plus tard il donnera une erreur une fois qu’une nouvelle valeur est assignée à son quatrième index.

La chaîne fonctionne comme une valeur unique ; bien qu’il ait des index, vous ne pouvez pas modifier leur valeur séparément. Cependant, si nous convertissons d’abord cette chaîne en liste, nous pouvons mettre à jour sa valeur.

# String Variable
string = "Hello Python"

# printing Fourth index element of the String
print(string[4])

# Creating list of String elements
lst = list(string)
print(lst)

# Assigning value to the list
lst[4] = "a"
print(lst)

# use join function to convert list into string
new_String = "".join(lst)

print(new_String)

Production :

o
['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n']
['H', 'e', 'l', 'l', 'a', ' ', 'P', 'y', 't', 'h', 'o', 'n']
Hella Python

Le code ci-dessus fonctionnera parfaitement.

Tout d’abord, nous créons une liste d’éléments de chaîne. Comme dans la liste, tous les éléments sont identifiés par leurs index et sont modifiables.

Nous pouvons attribuer une nouvelle valeur à n’importe lequel des index de la liste. Plus tard, nous pouvons utiliser la fonction join pour convertir la même liste en une chaîne et stocker sa valeur dans une autre chaîne.