Ji bo rakirina hêmanek ji navnîşek (array) ya navnîşa celebê ya Python, rêbazên navnîşê zelal (), pop () û jêbirin () bikar bînin. Her weha hûn dikarin pozîsyon û rêza navnîşê bi karanîna index an perçeyê diyar bikin û dûv re bi karanîna daxuyaniya del jêbirin.
Agahiyên jêrîn li vir têne pêşkêş kirin.
- Hemî hêmanan jêbirin:
clear()
- Hêmanek li cîhê diyarkirî jêbirin û nirxa wê bistînin.:
pop()
- Li hêmanên bi nirxa diyarkirî digere û hêmana yekem jê dike.:
remove()
- Jêbirina bi diyarkirina pozîsyon û rêzê di perçeya navnîşê de:
del
- Batch gelek hêmanên ku pîvanan pêk tînin jêbirin.:nîşana tevlêbûna lîsteyê
Bala xwe bidinê ku lîste dikarin daneyên cûrbecûr hilînin, û bi tundî ji rêzan cûda ne. Dema ku hûn dixwazin rêzikên ku ji bo pêvajoyên ku mezinahiya bîranînê an navnîşana bîranînê hewce ne, an jî ji bo hesabkirina jimareyî ya daneyên mezin, array (pirtûkxaneya standard) an NumPy bikar bînin.
Hemî hêmanan jêbirin:clear()
Di rêbaza navnîşê de zelal (), hemî hêman têne rakirin, di encamê de navnîşek vala derdikeve.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l.clear()
print(l)
# []
Hêmanek li cîhê diyarkirî jêbirin û nirxa wê bistînin.:pop()
Rêbaza pop() ya navnîşek dikare were bikar anîn da ku hêmanek li cîhek diyarkirî jê bibe û nirxa wê hêmanê bistîne.
Hejmara yekem (destpêkî) 0 ye.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(0))
# 0
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(3))
# 4
print(l)
# [1, 2, 3, 5, 6, 7, 8, 9]
Nirxek neyînî jî dikare were bikar anîn da ku pozîsyona ji dawiyê (paşîn) diyar bike. Dawiya (paşîn) -1 e.
print(l.pop(-2))
# 8
print(l)
# [1, 2, 3, 5, 6, 7, 9]
Ger argûman ji holê bê rakirin û pozîsyonek neyê diyar kirin, hêmana li dawiya (paşîn) tê jêbirin.
print(l.pop())
# 9
print(l)
# [1, 2, 3, 5, 6, 7]
Diyarkirina pozîsyonek neheyî dê bibe sedema xeletiyekê.
# print(l.pop(100))
# IndexError: pop index out of range
Têbînî ku pop (0), ku hêmana yekem jê dike, lêçûna jêrîn hewce dike û ne operasyonek bikêr e. Ji bo tevliheviya hesabkerî ya operasyonên cihêreng ên li ser navnîşan li rûpela jêrîn li ser wîkiya fermî binêre.O(n)
O(1)
Tîpa deqê di modula berhevokên pirtûkxaneya standard de wekî celebek ku bi vê lêçûnê hêmanan ber bi jor ve jê dike tê peyda kirin. Mînakî, heke hûn dixwazin daneyan wekî rêzek (FIFO) derman bikin, karanîna deque bikêrtir e.
Li hêmanên bi nirxa diyarkirî digere û hêmana yekem jê dike.:remove()
Rêbaza navnîşê jêbirin() dikare were bikar anîn da ku li hêmanên bi heman nirxa ku hatî destnîşan kirin bigere û hêmana yekem jê bibe.
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
Ger lîste ji yek hêmanek zêdetir hebe ku bi nirxa diyarkirî re têkildar e, tenê ya yekem dê were rakirin.
l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']
Ger nirxek neheyî were diyar kirin, xeletiyek çêdibe.
# l.remove('xxx')
# ValueError: list.remove(x): x not in list
Jêbirina bi diyarkirina pozîsyon û rêzê di perçeya navnîşê de:del
Her weha hûn dikarin daxuyaniya del bikar bînin da ku hêmanan ji navnîşê derxînin.
Hêmana ku ji hêla indexa wê ve were jêbirin diyar bikin. Indeksa yekem (destpêkî) 0 ye, û paşîn (dawî) -1 e.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[0]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]
del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]
Ger hûn rêzek bi perçeyan diyar bikin, hûn dikarin bi yekcarî gelek hêman jêbirin.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]
l = list(range(10))
del l[:3]
print(l)
# [3, 4, 5, 6, 7, 8, 9]
l = list(range(10))
del l[4:]
print(l)
# [0, 1, 2, 3]
l = list(range(10))
del l[-3:]
print(l)
# [0, 1, 2, 3, 4, 5, 6]
Di heman demê de gengaz e ku meriv tevahiya rêzê diyar bike û hemî hêman jêbirin.
l = list(range(10))
del l[:]
print(l)
# []
[start:stop:step]
Ger hûn di perçeyê de rêzê bi vî rengî diyar bikin û gavê zêde diyar bikin, hûn dikarin bi yekcarî gelek hêmanên bazdanê jêbirin.
l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]
l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]
Ji bo bêtir agahdarî li ser perçekirinê, li gotara jêrîn binêrin.
Batch gelek hêmanên ku pîvanan pêk tînin jêbirin.:nîşana tevlêbûna lîsteyê
Pêvajoya rakirina hêmanên ku şert û mercan têr dikin, bi pêvajoya hiştina (derxistina) hêmanên ku şert û mercan têr nakin re hevwate ye. Nîşana têgihîştina navnîşê ji bo vî rengî pêvajoyê tê bikar anîn.
- Gotarên Têkildar:Bikaranîna nîşana têgihîştina navnîşa Python
Nimûneyek rakirina hêmanên cêwîtî an jî cêwiyan (= hiştina hêmanên tew an jî cêwiyan) li jêr tê nîşandan.%
Ev operatorê mayî ye.i % 2
Ev mayî ya i ye ku bi 2 ve tê dabeş kirin.
Di navnîşa têgihîştina navnîşê de, navnîşek nû tê afirandin. Berevajî awayên celebên navnîşê yên ku heya nuha hatine destnîşan kirin, navnîşa orîjînal nayê guhertin.
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print([i for i in l if i % 2 == 0])
# [0, 2, 4, 6, 8]
print([i for i in l if i % 2 != 0])
# [1, 3, 5, 7, 9]
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Mînakên din. Cûreyek pêvajoyek li gorî vegotina şertî ve girêdayî ye.
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']
print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']
Heke hûn dixwazin hêmanên dubare jêbirin, celebê setê bikar bînin.
print(list(set(l)))
# ['David', 'Alice', 'Charlie', 'Bob']