L'histoire d'un tableau que je suis personnellement devenu "Python, n'est-ce pas?" En touchant Python récemment. (Au fait, j'ai un passé sur lequel je suis tombé par hasard et j'ai fondu pendant une heure ou deux)
Voici différentes manières d'écrire lorsque vous essayez d'ajouter une chaîne à un tableau.
arr = []
arr += "hello" # => ['h', 'e', 'l', 'l', 'o']
arr.append("hello") # => ['hello']
Puisque «+ =» est une concaténation de tableaux et reçoit un objet itérable comme opérande, la chaîne de caractères est traitée comme un tableau de caractères et stockée dans le tableau caractère par caractère. Par exemple, si vous passez un type int, bien sûr, ce n'est pas itérable et vous obtiendrez une erreur.
Je ne l'ai pas examiné en détail, mais quand je le vérifie avec irb, Ruby semble être similaire.
arr = []
arr += 'hello' # => TypeError: no implicit conversion of String into Array
arr.append("hello") # => ['hello']
Cependant, dans le cas de Ruby, si c'est + =
, ce sera Erreur de type: pas de conversion implicite de String en Array
, et vous remarquerez avec une erreur que le comportement n'est pas comme prévu.
C'est vrai, si vous me le demandez, mais je l'ai écrit comme un commandement car si j'ajoutais par inadvertance un élément de tableau dans le code Python avec une implémentation plutôt compliquée, cela pourrait prendre du temps à enquêter.
Recommended Posts