เมื่อจำเป็นต้องตรวจสอบว่าความถี่ของพจนานุกรม ตั้งค่า และตัวนับเหมือนกันหรือไม่ แพ็คเกจตัวนับจะถูกนำเข้าและอินพุตจะถูกแปลงเป็น 'ตัวนับ' ค่าของพจนานุกรมจะถูกแปลงเป็น 'ชุด' จากนั้นจึงเปลี่ยนเป็นรายการ ขึ้นอยู่กับความยาวของอินพุต เอาต์พุตจะแสดงบนคอนโซล
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
from collections import Counter
def check_all_same(my_input):
my_dict = Counter(my_input)
input_2 = list(set(my_dict.values()))
if len(input_2)>2:
print('The frequencies are not same')
elif len (input_2)==2 and input_2[1]-input_2[0]>1:
print('The frequencies are not same')
else:
print('The frequencies are same')
my_str = 'xxxyyyzzzzzz'
print("The string is :")
print(my_str)
check_all_same(my_str) ผลลัพธ์
The string is : xxxyyyzzzzzz The frequencies are not same
คำอธิบาย
-
แพ็คเกจที่จำเป็นจะถูกนำเข้า
-
มีการกำหนดเมธอดที่รับอินพุตหนึ่งรายการเป็นพารามิเตอร์
-
อินพุตจะถูกแปลงเป็นตัวนับและกำหนดให้กับตัวแปร
-
ค่าของพจนานุกรมสามารถเข้าถึงได้โดยใช้วิธี '.values' และแปลงเป็นรายการ
-
จะถูกแปลงเป็นรายการอีกครั้งและถูกกำหนดให้กับตัวแปร
-
หากความยาวของอินพุตมากกว่า 2 แสดงว่าความถี่ไม่ตรงกัน
-
มิฉะนั้น หากความยาวของอินพุตเป็น 2 และความแตกต่างระหว่างดัชนีวินาทีและดัชนีแรกมากกว่า 1 แสดงว่าความถี่ไม่เท่ากัน
-
มิฉะนั้นหมายความว่าความถี่เท่ากัน
-
นอกเมธอด มีการกำหนดสตริง และเมธอดจะถูกเรียกโดยการส่งผ่านสตริงนี้
-
เอาต์พุตจะแสดงบนคอนโซล