Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - จัดกลุ่มสตริงตามความยาว K โดยใช้ Suffix

จัดกลุ่มสตริงในลิสต์ตาม 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()