Kuongeza kipengee kwenye orodha (safu) ya orodha ya aina kwenye Python, au kuchanganya orodha nyingine, tumia njia za orodha append(), extend(), na insert(). Unaweza pia kutumia + opereta au kipande kutaja nafasi na kuikabidhi.
Habari ifuatayo imetolewa hapa.
- Ongeza vipengele mwishoni:
append()
- Unganisha orodha nyingine au tuple mwishoni (concatenation):
extend()
,+
mwendeshaji - Ongeza (ingiza) kipengele katika nafasi maalum.:
insert()
- Ongeza (ingiza) orodha nyingine au tuple kwenye nafasi iliyobainishwa:kipande
Ongeza vipengele mwishoni:append()
Kutumia append() njia ya orodha, unaweza kuongeza vitu hadi mwisho (mwisho). Ikiwa unataka kuiongeza kwa nafasi nyingine isipokuwa mwisho, kama vile juu, tumia insert() kama ilivyoelezwa hapa chini.
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']
Orodha pia huongezwa kama kipengele kimoja. Hazijaunganishwa.
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
Unganisha orodha nyingine au tuple mwishoni (concatenation):extend(),+mwendeshaji
Na njia ya orodha extend(), unaweza kuchanganya orodha nyingine au tuple mwishoni (mwisho). Vipengele vyote vitaongezwa hadi mwisho wa orodha asili.
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]
Kumbuka kuwa kila herufi (kipengele) huongezwa kwa kamba herufi moja kwa wakati mmoja.
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
Inawezekana pia kubatilisha kwa kutumia + mwendeshaji badala ya njia ya extend().
+ mwendeshaji, orodha mpya inarudishwa.+=
Hii pia itakuruhusu kuiongeza kwenye orodha iliyopo.
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]
Ongeza (ingiza) kipengele katika nafasi maalum.:insert()
Njia ya orodha insert() inaweza kuongeza (kuingiza) kipengele katika nafasi maalum.
Hoja ya kwanza inabainisha nafasi, na hoja ya pili inabainisha kipengele cha kuingizwa. Nafasi ya kwanza (ya awali) ni 0; kwa maadili hasi, -1 ndio nafasi ya mwisho (ya mwisho).
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]
Kama ilivyo kwa append(), orodha inaongezwa kama kipengele kimoja. Haitaunganishwa.
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
Kumbuka kuwa insert() sio operesheni ifaayo kwa sababu inahitaji gharama zifuatazo. Tazama ukurasa ufuatao kwenye wiki rasmi kwa ugumu wa hesabu wa shughuli mbalimbali za orodha.O(n)
O(1)
Aina ya deque hutolewa katika moduli ya kawaida ya makusanyo ya maktaba kama aina ya kuongeza vipengele vya juu kwa gharama hii. Kwa mfano, ikiwa unataka kuchukulia data kama foleni (FIFO), ni bora zaidi kutumia deque.
Ongeza (ingiza) orodha nyingine au tuple kwenye nafasi iliyobainishwa:kipande
Ukibainisha masafa na kipande na kugawa orodha au nakala nyingine, vipengele vyote vitaongezwa (vimeingizwa).
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]
Unaweza pia kuchukua nafasi ya kipengele asili. Vipengele vyote katika safu maalum vitabadilishwa.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]