Zêdekirina hêmanan li navnîşek (array) li Python: append(), extension(), insert()

Dikan

Ji bo ku hêmanek li navnîşek (array) navnîşek celebê ya Python zêde bikin, an jî navnîşek din bi hev re bikin, rêbazên navnîşê append(), extension(), û insert() bikar bînin. Her weha hûn dikarin operatora + an jî perçek bikar bînin da ku pozîsyonek diyar bikin û wê destnîşan bikin.

Agahiyên jêrîn li vir têne pêşkêş kirin.

  • Di dawiyê de hêmanan zêde bikin:append()
  • Di dawiyê de navnîşek din an jî jimareyek din bike yek (tevlihevkirin):extend(),+makînevan
  • Li cîhê diyarkirî hêmanek zêde bikin (bixin).:insert()
  • Di cîhê diyarkirî de lîsteyek an jimareyek din lê zêde bikin (bixin).:kêl

Di dawiyê de hêmanan zêde bikin:append()

Bi karanîna rêbaza append() ya navnîşê, hûn dikarin hêmanan li dawiya (paşîn) zêde bikin. Heke hûn dixwazin wê li cîhek ji bilî dawiyê, wek jorîn, lê zêde bikin, wekî ku li jêr hatî destnîşan kirin insert() bikar bînin.

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']

Navnîşan jî wekî hêmanek yekane têne zêdekirin. Ew bi hev re ne.

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

Di dawiyê de navnîşek din an jî jimareyek din bike yek (tevlihevkirin):extend(),+makînevan

Bi rêbaza navnîşê dirêj dike(), hûn dikarin di dawiyê de (dawî) navnîşek din an pirtikek hev bikin. Hemî hêman dê li dawiya navnîşa orîjînal werin zêdekirin.

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]

Bala xwe bidinê ku her karekterek (hêman) yek bi yek tîp li rêzê tê zêdekirin.

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

Di heman demê de gengaz e ku meriv li şûna rêbaza dirêjkirinê () bi operatora + ve were girêdan.

+ operator, navnîşek nû tê vegerandin.+=Ev ê di heman demê de dihêle hûn wê li navnîşek heyî zêde bikin.

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]

Li cîhê diyarkirî hêmanek zêde bikin (bixin).:insert()

Rêbaza navnîşê têxe() dikare hêmanek li cîhek diyarkirî lê zêde bike (têxe).

Argumana yekem pozîsyonê diyar dike, û argûmana duyemîn jî hêmana ku tê danîn diyar dike. Helwesta yekem (destpêkî) 0 ye; ji bo nirxên neyînî, -1 pozîsyona dawîn (dawî) ye.

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]

Wekî append(), navnîş wekî hêmanek yekane tê zêdekirin. Ew ê neyê yek kirin.

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

Hişyar bikin ku insert() ne operasyonek bikêr e ji ber ku ew lêçûnên jêrîn hewce dike. Li rûpela jêrîn li ser wîkiya fermî ji bo tevliheviya hesabkirinê ya operasyonên navnîşên cihêreng binêre.
O(n)

O(1)
Tîpa deqê di modula berhevokên pirtûkxaneya standard de wekî celebek tê peyda kirin ku bi vê lêçûnê hêmanan li jorê zêde bike. Mînakî, heke hûn dixwazin daneyan wekî rêzek (FIFO) derman bikin, karanîna deque bikêrtir e.

Di cîhê diyarkirî de lîsteyek an jimareyek din lê zêde bikin (bixin).:kêl

Ger hûn rêzek bi perçek diyar bikin û navnîşek an jimareyek din destnîşan bikin, dê hemî hêman werin zêdekirin (navdêr).

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

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

Her weha hûn dikarin hêmana orîjînal biguhezînin. Hemî hêmanên di rêza diyarkirî de dê bêne guheztin.

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