Page 87 - python
P. 87

61




                   5.23 การคนหาและแยกขอความเปนสามสวนดวยคําสั่ง partition() และ rpartition()

                          คําสั่ง partition() เปนการแบงขอความดวยคําคนออกเปน 3 สวน คือ สวนที่อยูดานหนาคําคน
                   คําคน และสวนดานหลังคําคน คําสั่ง partition() จะแยกขอความดวยคําคนที่พบดานซายมอ สวนคําสั่ง
                                                                                               ื
                   rpartition() แยกขอความดวยคําคนที่พบดานขวามือ


                   ตัวอยางที่ 5.26 การคนหาและแยกขอความเปนสามสวนดวยคําสั่ง partition()
                    s = "ลิงกินกลวยทุกวัน กลวยเปนสิ่งที่ลิงชอบกิน"
                    z = s.partition("กลวย")

                    print(z)
                    z = s.rpartition("กลวย")
                    print(z)

                   ผลลัพธ :

                    ('ลิงกิน', 'กลวย', 'ทุกวัน กลวยเปนสิ่งที่ลิงชอบกิน')
                    ('ลิงกินกลวยทุกวัน ', 'กลวย', 'เปนสิ่งที่ลิงชอบกิน')

                          ตัวอยางที่ 5.26 คําสั่ง partition() และ rpartition() จะแบงสตริงเปน 3 สวน จากตัวอยางแบง
                   ดวยคําวา "กลวย" จากซายมือสุด ผลลัพธ ('ลิงกน', 'กลวย', 'ทุกวัน กลวยเปนสิ่งที่ลิงชอบกน') และคําวา
                                                                                              ิ
                                                           ิ
                   "กลวย" จากขวามือสุด ผลลัพธ คือ ('ลิงกินกลวยทุกวัน ', 'กลวย', 'เปนสิ่งที่ลิงชอบกิน')

                   5.24 การแทนที่คําดวย maketrans() และ translate()

                          คําสั่ง translate สรางตารางการแทนคาคํา
                          คําสั่ง maketrans() คืนคาตัวแปรดิกชันนารีใชอธิบายการแทนที่ตัวอักษร (ใชรหัส unicode)


                   คําสั่ง
                    พารามิเตอร                 คําอธิบาย
                    maketrans()                 คือ การสรางตารางจับคูตัวอักษร
                    translate()                 คือการนําตารางจับคูตัวอักษรมาแทนที่ในตัวแปรสตริง


                                                           ั
                   ตัวอยางที่ 5.27 การเขารหัสดวยตารางจับคูตัวอกษร
                     s = "Information Science"

                    table = s.maketrans("aeiou", "12345")
                    print(s.translate(table))

                   ผลลัพธ :

                     Inf4rm1t34n Sc32nc2
                          ตัวอยางที่ 5.27 สรางตัวแปรตารางจับคูตัวอกขระ เชน แทน a=1, e=2, i=3, o=4 และ u=5
                                                                ั
                                                                                                     ั
                   ดวยคําสั่ง table = s.maketrans("aeiou", "12345") จากนั้นใชคําสั่ง translate เพื่อนําตารางจบคูที่
   82   83   84   85   86   87   88   89   90   91   92