จัดกลุ่มสตริงในลิสต์ตาม Suffix (ตัวอักษรท้าย) ความยาว K โดยใช้ Dictionary และ Try-Except
ตัวอย่างโค้ด
my_list = ['peek', "leak", 'creek', "weak", "good", 'week', "wood", "sneek"]
print("The list is :")
print(my_list)
K = 3
print("The value of K is ")
print(K)
my_result = {}
for element in my_list:
suff = element[-K:]
try:
my_result[suff].append(element)
except:
my_result[suff] = [element]
print("The resultant list is :")
print(my_result)
ผลลัพธ์
The list is : ['peek', 'leak', 'creek', 'weak', 'good', 'week', 'wood', 'sneek']
The value of K is 3
The resultant list is : {'ood': ['good', 'wood'], 'eak': ['leak', 'weak'], 'eek': ['peek', 'creek', 'week', 'sneek']}
คำอธิบาย
- Suffix ความยาว K:
element[-K:](Slice ตัวท้าย K ตัว) - ใช้ Dictionary Key = Suffix, Value = List ของคำ
try: พยายาม append เข้า list เดิมexcept: Key ยังไม่มี -> สร้าง list ใหม่- วิธีสมัยใหม่: ใช้
defaultdict(list)หรือsetdefault()