Að bæta þáttum við lista (fylki) í Python: append(), extend(), insert()

Viðskipti

Til að bæta staki við lista (fylki) af gerð lista í Python, eða til að sameina annan lista, notaðu listaaðferðirnar append(), extend() og insert(). Þú getur líka notað + aðgerðina eða sneið til að tilgreina staðsetningu og úthluta henni.

Eftirfarandi upplýsingar eru veittar hér.

  • Bættu við þáttum í lokin:append()
  • Sameina annan lista eða tuple í lokin (samtenging):extend(),+rekstraraðili
  • Bættu við (settu inn) staki á tilgreindri staðsetningu.:insert()
  • Bættu við (settu inn) öðrum lista eða tuple á tilgreindum stað:sneið

Bættu við þáttum í lokin:append()

Með því að nota append() aðferðina á listanum geturðu bætt þáttum við endann (síðast). Ef þú vilt bæta því við aðra stöðu en endann, eins og toppinn, notaðu insert() eins og lýst er hér að neðan.

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Listum er einnig bætt við sem einn þáttur. Þau eru ekki sameinuð.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Sameina annan lista eða tuple í lokin (samtenging):extend(),+rekstraraðili

Með listaaðferðinni extend() geturðu sameinað annan lista eða tuple í lokin (enda). Öllum þáttum verður bætt við lok upprunalega listans.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

Athugaðu að hverjum staf (einingu) er bætt við strenginn einn staf í einu.

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

Það er líka hægt að sameina með því að nota + rekstraraðilann í staðinn fyrir extend() aðferðina.

+ rekstraraðili, nýr listi er skilaður.+=Þetta gerir þér einnig kleift að bæta því við núverandi lista.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Bættu við (settu inn) staki á tilgreindri staðsetningu.:insert()

Listaaðferðin insert() getur bætt við (sett inn) staki á tiltekinni staðsetningu.

Fyrsta röksemdin tilgreinir staðsetninguna og seinni röksemdin tilgreinir þáttinn sem á að setja inn. Fyrsta (upphaflega) staðan er 0; fyrir neikvæð gildi er -1 síðasta (loka) staðan.

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Eins og með append() er listinn bætt við sem stakur þáttur. Það verður ekki sameinað.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Athugaðu að insert() er ekki skilvirk aðgerð vegna þess að hún krefst eftirfarandi kostnaðar. Sjá eftirfarandi síðu á opinberu wiki fyrir útreikningsflækjustig hinna ýmsu listaaðgerða.
O(n)

O(1)
Deque tegundin er gefin upp í venjulegu bókasafnssafnaeiningunni sem gerð til að bæta þáttum efst á þennan kostnað. Til dæmis, ef þú vilt meðhöndla gögn sem biðröð (FIFO), er skilvirkara að nota deque.

Bættu við (settu inn) öðrum lista eða tuple á tilgreindum stað:sneið

Ef þú tilgreinir svið með sneið og úthlutar öðrum lista eða tuple, verður öllum þáttum bætt við (sett inn).

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

Þú getur líka skipt út upprunalega þættinum. Öllum þáttum á tilgreindu sviði verður skipt út.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
Copied title and URL