[Python] La différence entre la méthode de liste "+" et "extend ()"

La liste est un type de structure de données courant
en python. Il est utilisé pour ajouter une donnée après la liste. Il existe la méthode "append ()". Il existe deux méthodes
pour ajouter plusieurs données après la liste. Il existe deux méthodes: "+ "et" extend () ".
Le" + "est présenté ci-dessous. Similitudes et différences entre les deux méthodes" extend () ":

1 méthode extend ()

a = [1,2,3]
b = [4,5,6]
print("a id :",id(a))
print("b id :",id(b))

# extend()方法
a.extend(b)
print("extend: a =",a)
print("extend: a id =",id(a))

# 结果
>> a id : 139646799147568
>> b id : 139646799150128
>> extend: a = [1, 2, 3, 4, 5, 6]
>> extend: a id = 139646799147568

On peut voir que la méthode extend () de la liste peut ajouter plusieurs éléments de la liste b à a sans changer l'id de a

2 Ajout de liste


a = [1,2,3]
b = [4,5,6]
print("a id :",id(a))
print("b id :",id(b))

# +
a += b
print("+: a =",a)
print("+: a id =",id(a))

# 结果
>> a id : 140080409711152
>> b id : 140080409713712
>> +: a = [1, 2, 3, 4, 5, 6]
>> +: a id = 140080409711152

On voit que la méthode d'addition de la liste peut réaliser la même fonction sans changer l'id d'un

3 questions nécessitant une attention particulière

D'autres blogs sur Internet peuvent dire que la méthode d'ajout de la liste modifiera l'identifiant.
Veuillez noter que cela est dû à l'introduction d'une nouvelle liste dans leur instance, comme indiqué ci-dessous

a = [1,2,3]
b = [4,5,6]
c = []
print("a id :",id(a))
print("b id :",id(b))
print("c id :",id(c))

# +
c = a + b
print("a =",a)
print("b =",b)
print("c =",c)
print("a id :",id(a))
print("b id :",id(b))
print("c id :",id(c))

>> a id : 140212670542384
>> b id : 140212670544944
>> c id : 140212669314064
>> a = [1, 2, 3]
>> b = [4, 5, 6]
>> c = [1, 2, 3, 4, 5, 6]
>> a id : 140212670542384
>> b id : 140212670544944
>> c id : 140212669289248

On peut voir que c est initialisé à une liste vide au début. Une
fois l'affectation passée, l'id change. C'est la raison qui n'est pas expliquée dans d'autres articles sur Internet.

Je suppose que tu aimes

Origine blog.csdn.net/ao1886/article/details/109114069
conseillé
Classement