เราได้รับสตริง งานที่จำเป็นคือการนำตัวอักษรหนึ่งตัวออกจากสตริงและพิมพ์ตัวอักษรที่เหลือในสตริง และเราต้องทำเช่นนี้สำหรับตัวอักษรแต่ละตัวของสตริง
มีลูปและเรนจ์
นี่เป็นแนวทางการเขียนโปรแกรมพื้นฐานที่เราแสดงรายการพารามิเตอร์ที่จำเป็นก่อน เช่น ประกาศสตริง สร้างตัวแปรสำหรับตำแหน่งเริ่มต้นและสิ้นสุด และสร้างตัวยึดชั่วคราวสำหรับตัวอักษรแต่ละตัว เราสร้างฟังก์ชันที่จะวนซ้ำตัวอักษรแต่ละตัวและสร้างสตริงของตัวอักษรที่เหลือ
ตัวอย่าง
list =[]def letterCombinations(s, t, start, end, index, k):if (index ==k):elem ='' สำหรับ j in range(k):elem +=t[j] list.append(elem) return i =start while (i <=end and end - i + 1>=k - index):temp[index] =s[i] letterCombinations(s, t, i + 1, end, ดัชนี + 1, k) i +=1stringA ='Apple'k =1temp =[0] * (len(stringA) - k)start =0end =len(stringA) - 1letterCombinations(stringA, temp, start, end, 0 , len(stringA) - k)print(set(list))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
{'pple', 'Aple', 'Appl', 'Appe'}
ด้วย itertools
ในแนวทางนี้ เราใช้โมดูล itertools ซึ่งมีฟังก์ชันชื่อชุดค่าผสม ที่ดูแลการสร้างชุดตัวอักษรที่เป็นไปได้ทั้งหมดหลังจากที่เราลบตัวอักษรหนึ่งตัวออกจากสตริงที่กำหนด
ตัวอย่าง
จาก itertools นำเข้าชุดค่าผสมstringA ='Apple'k =1# โดยใช้ชุดค่าผสม =set([''.join(i) สำหรับ i ในชุดค่าผสม (stringA, len (stringA) - k)]) พิมพ์ (res)ก่อน>ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
{'Appl', 'Aple', 'Appe', 'pple'}