Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
-
Metodo
appenddi Python List -
Metodo
extenddi Python List -
Conclusione della differenza tra
appendeextendin 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