Python тоолуур

Системийн дизайны ярилцлагын асуултууд маш нээлттэй байж болох тул зөв бэлтгэх арга замыг мэдэхэд хэтэрхий хэцүү байдаг. Одоо би худалдаж авсны дараа Amazon, Microsoft, Adobe-ийн дизайныг эвдэх боломжтой болсон энэ ном. Өдөр бүр нэг засвар хийх дизайны асуулт Мөн би та дизайны дугуйг эвдэж чадна гэж амлаж байна.

Python тоолуур гэж юу вэ?

Python тоолуур нь дотор байгаа контейнер юм цуглуулгууд модуль. Энэ нь саванд байгаа элемент бүрийн тоог агуулна.

Контейнер нь объектуудыг хадгалдаг объект гэж тодорхойлж болно. Та объектуудыг давтах замаар тэдгээрт хандах боломжтой. Жагсаалт, Tuple, толь бичиг нь суурилуулсан савны жишээ юм. Тоолуур нь суурилуулсан савны өөр хувилбар юм.

The Python толь бичиг нь Python Counter-ийн супер анги юм. Тиймээс тоолуур нь толь бичигтэй адил эрэмбэлэгдээгүй цуглуулга юм. Тоолуур дээр элементүүд болон тэдгээрийн тооллогыг толь бичгийн форматаар түлхүүр-утга хос болгон хадгалдаг. Энэ нь бусад хэл дээрх multisets-тэй төстэй.

Python тоолуурыг эхлүүлж байна:

Бид лангууны барилгын ажлыг гурван аргаар нэрлэж болно, үүнд:

  • жагсаалт, залгуур, мөр гэх мэт зүйлсийн дараалал,
  • түлхүүрүүд болон тэдгээрийн тоолох утгыг агуулсан толь бичиг.
  • тэмдэгт мөрийн нэрсийг тус тусын тоолох утгад буулгах түлхүүр үгийн аргумент.
from collections import Counter

#sequence of items
print(Counter(('A','1','2','3','A','A','3','A')))

#dictionary containing keys and their respective counts
print(Counter({'A':1,'B':3,'C':7}))

#keyword arguments mapping keys to count values
print(Counter(A=1,B=3,C=7))

Үр дүн нь:

Counter({'A': 4, '3': 2, '1': 1, '2': 1})
Counter({'C': 7, 'B': 3, 'A': 1})
Counter({'C': 7, 'B': 3, 'A': 1})

Python тоолуураас элементүүдийг устгах:

del түлхүүр үгээр бид тоолуураас дурын элементийг элемент болгож болно. Өгөгдсөн элемент байхгүй байсан ч бид ямар ч алдаа гаргахгүй.

from collections import Counter

counter=Counter()
counter.update([1,3,2,1,4,3,2,2,3])
print(counter)
del counter[4]
print(counter)
Counter({3: 3, 2: 3, 1: 2, 4: 1})
Counter({3: 3, 2: 3, 1: 2})

Python тоолуур дээрх үйлдлүүд:

Бид Python тоолуур дээр нэмэх, хасах, огтлолцох, нэгдэх гэх мэт арифметик үйлдлүүдийг хийж чадна.

  • Нэмэх, хасах нь зөвхөн утгыг буцаана эерэг тоонууд.
  • Уулзвар нь хоёр тоолуурт байгаа эерэг элементүүдийг хамгийн бага утгатай буцаана.
  • Union нь хоёр тоолуурт байгаа эерэг элементүүдийг буцаана хамгийн их утга.
from collections import Counter

counter=Counter()
counter1=Counter([1,3,2,1,4,3,2,2,3])
counter2=Counter((1,3,4,2,5))

#Addition
print(counter1+counter2)
#Subtraction
print(counter1-counter2)
#Intersection
print(counter1&counter2)
#union
print(counter1|counter2)
Counter({3: 4, 2: 4, 1: 3, 4: 2, 5: 1})
Counter({3: 2, 2: 2, 1: 1})
Counter({1: 1, 3: 1, 2: 1, 4: 1})
Counter({3: 3, 2: 3, 1: 2, 4: 1, 5: 1})

Дарааллын тодорхой элементүүдийг авах:

Тоолуурыг ашиглах өөр нэг арга бол цуглуулгын тодорхой элементүүдийн тоог гаргах явдал юм.

from collections import Counter

sequence=[1,2,4,2,3,1,2,3,3,2,4,1]
print(Counter(sequence))
Counter({2: 4, 1: 3, 3: 3, 4: 2})

Python Counter дээр түгээмэл хэрэглэгддэг аргууд:

элементүүд ():

elements() нь Counter ангийн функц юм. Буцаах төрөл нь itertools тул тоолуурт мэдэгдэж буй бүх элементүүдийг агуулсан давталтыг буцаана.

<class 'itertools.chain'>

Үзүүлэлтүүд:

Энэ нь ямар ч параметрийг хүлээн зөвшөөрдөггүй.

Алдаа ба үл хамаарах зүйлүүд:

  • Энэ нь давтагчийг буцаадаг тул шууд хэвлэхдээ хогны утгыг хэвлэдэг.
counter1=Counter(A=4,B=5,C=12)

print(counter1.elements())
<itertools.chain object at 0x02DAA370>
  • elements() нь зөвхөн эерэг тоотой элементүүдийг буцаадаг тул тэг болон тоотой элементүүдийг үл тоомсорлодог. сөрөг утгууд.
from collections import Counter

sequence=Counter(a=2,d=-1,b=0,c=3)

for i in sequence.elements():
    print("% s : % s" % (i, sequence[i]))
a : 2
a : 2
c : 3
c : 3
c : 3

хасах():

Дамжуулсан тоолуурт байгаа тоологчоос элементүүдийг гаргадаг. elements()-ээс ялгаатай нь энэ нь тэг болон сөрөг утгыг тооцдог элементүүдийг буцаана.

from collections import Counter 

counter1=Counter(A=4,B=5,C=12) 
counter2=Counter(A=5,B=5,C=3) 
counter1.subtract(counter2) 

print(counter1)
Counter({'C': 9, 'B': 0, 'A': -1})

шинэчлэх():

Бид хоосон тоолуур үүсгэх эсвэл update() аргыг ашиглан гарч байгаа тоолуурыг шинэчлэх боломжтой.

from collections import Counter 

#Initializing empty Counter 
counter=Counter() 
counter.update([1,3,2,1,4,3,2,2,3]) 
print(counter) 

counter.update((1,3,4,2)) 
print(counter)
Counter({3: 3, 2: 3, 1: 2, 4: 1}) 
Counter({3: 4, 2: 4, 1: 3, 4: 2})

Тоолуурыг шинэчлэхэд одоо байгаа өгөгдөл солигддоггүй, нэмэгддэг.

 

Crack системийн дизайны ярилцлага
Translate »