Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
-
Metodo
append
di Python List -
Metodo
extend
di Python List -
Conclusione della differenza tra
append
eextend
in Python List
Questo articolo introduce la differenza tra i metodi di lista append
e extend
in Python.
Metodo append
di Python List
append
aggiunge l’oggetto alla fine della lista. L’oggetto potrebbe essere qualsiasi tipo di dato in Python, come list, dizionario o oggetto di classe.
>>> A = [1, 2]
>>> A.append(3)
>>> A
[1, 2, 3]
>>> A.append([4, 5])
>>> A
[1, 2, 3, [4, 5]]
La lunghezza della lista aumenterà di uno dopo l’aggiunta.
Metodo extend
di Python List
extend
estende la lista aggiungendo elementi dall’argomento iterabile. Esso itera sopra l’argomento e poi aggiunge ogni elemento alla lista. L’argomento dato deve essere di tipo iterabile, come la lista, altrimenti solleverà TypeError
.
>>> A = [1, 2]
>>> A.extend(3)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
A.extend(3)
TypeError: 'int' object is not iterable
Se si vuole aggiungere 3
alla fine della lista, si dovrebbe prima mettere il 3
in una nuova lista.
>>> A = [1, 2]
>>> A.extend([3])
>>> A
[1, 2, 3]
Il metodo extend
itera gli elementi nell’oggetto iterabile e poi li aggiunge uno a uno alla fine della lista.
>>> A = [1, 2]
>>> A.extend([3, 4])
>>> A
[1, 2, 3, 4]
Tipo di stringa Python extend
Siate consapevoli del fatto che quando l’oggetto dato è di tipo string
, aggiungerà ogni carattere della stringa alla lista.
>>> A = ["a", "b"]
>>> A.extend("cde")
>>> A
['a', 'b', 'c', 'd', 'e']
Conclusione della differenza tra append
e extend
in Python List
append
aggiunge l’oggetto dato alla fine della lista, quindi la lunghezza della lista aumenta solo di 1.
D’altra parte, extend
aggiunge tutti gli elementi dell’oggetto dato alla fine del listino, quindi la lunghezza del listino aumenta della lunghezza dell’oggetto dato.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook