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 เพื่อนําตารางจบคูที่