Erreur : l'objet 'str' ne prend pas en charge l'attribution d'éléments
Les chaînes Python sont immuables, ce qui signifie qu'une fois créées, leurs caractères individuels ne peuvent pas être modifié. Tenter de modifier un caractère directement à l'aide de l'affectation d'élément, comme dans le code s2[j] = s1[i], entraîne l'erreur "TypeError : l'objet 'str' ne prend pas en charge l'affectation d'élément."
Ce comportement Ceci contraste avec les langages comme C, où les chaînes sont mutables et peuvent être modifiées de cette manière. Pour surmonter cette limitation en Python, envisagez les alternatives suivantes :
Utilisation de la concaténation de chaînes
Au lieu d'attribuer directement des caractères individuels, vous pouvez créer une nouvelle chaîne en concaténant les caractères souhaités. Par exemple :
s1 = "Hello World"
s2 = ""
j = 0
for i in range(len(s1)):
s2 = s1[i]
Ici, s2 est créé en ajoutant les caractères de s1 un par un.
Conversion en listes
Chaînes Python peuvent être temporairement convertis en listes, modifiés, puis reconvertis en chaînes. Par exemple :
s1 = "Hello World"
list1 = list(s1)
list1[5] = 'u'
s1 = ''.join(list1)
Dans ce cas, s1 est converti en liste list1, où le cinquième caractère est modifié. list1 est ensuite reconverti en chaîne s1 avec la modification demandée.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3