สตริงสองสายเรียกว่าแอนนาแกรมของแต่ละรายการ หากมีอักขระเหมือนกันแม้ในลำดับที่ต่างกัน ในบทช่วยสอนนี้ เราจะตรวจสอบแอนนาแกรมใน Python โดยใช้ collections.Counter() วิธีการ
Input:string_one ="cat"string_two ="tac"Ouput:True
collections.Counter()
collection.Counter() ส่งคืนพจนานุกรมที่มีความถี่ของอักขระแต่ละตัวจากสตริง เคาน์เตอร์ วัตถุมีวิธีการที่แตกต่างกันในการค้นหา องค์ประกอบทั่วไป องค์ประกอบที่ไม่ซ้ำ การนับ เป็นต้น..,
มาดูตัวอย่างกัน
ตัวอย่าง
# การนำเข้าคอลเลกชัน moduleimport collections# การสร้าง Counter objectcounter =collections.Counter("Hafeez")# การพิมพ์ counterprint(counter)# แสดงอักขระทั่วไปส่วนใหญ่จาก stringprint("\nMost common character")print(counter.most_common (1))
ผลลัพธ์
หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
Counter({'e':2, 'H':1, 'a':1, 'f':1, 'z':1})อักขระทั่วไป[('e', 2)]
ขั้นตอนในการตรวจสอบแอนนาแกรม
อัลกอริทึม
<ก่อน>1. เริ่มต้นสองสตริง2. สร้าง collections.Counter() วัตถุสำหรับทั้งสอง string.3. ถ้าวัตถุทั้งสองมีค่าเท่ากัน 3.1. พิมพ์ True4 อย่างอื่นพิมพ์เท็จมาดูตัวอย่างกัน
ตัวอย่าง
# การนำเข้าคอลเลกชัน moduleimport collections# การเริ่มต้น stringsstring_one ="cat"string_two ="atc"# กำลังตรวจสอบวัตถุตัวนับของทั้งสอง stringsif collections.Counter(string_one) ==collections.Counter(string_two):# มีค่าเท่ากันดังนั้น พิมพ์ จริง พิมพ์ (จริง) อื่น:# ไม่เท่ากันดังนั้น พิมพ์ เท็จ พิมพ์ (เท็จ)
ผลลัพธ์
หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
จริง
บทสรุป
หากคุณกำลังประสบปัญหาในการทำตามบทช่วยสอน โปรดพูดถึงในส่วนความคิดเห็น