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

สร้างสตริงใหม่จากตัวอักษรที่ไม่ซ้ำกันของสองสตริงใน Python

ให้สตริงสองตัว ต้องการสร้างสตริงใหม่ที่ประกอบด้วยตัวอักษรที่ไม่ซ้ำกัน (uncommon characters) จากทั้งสองสตริง เช่น hafeez และ kareem → hfzkrm

อัลกอริทึม

1. กำหนดสตริง 2 ตัว
2. สร้างสตริงว่าง new_string
3. วนลูปสตริงแรก: ถ้าตัวอักษรไม่อยู่ในสตริงที่สอง → เพิ่มเข้า new_string
4. วนลูปสตริงที่สอง: ถ้าตัวอักษรไม่อยู่ในสตริงแรก → เพิ่มเข้า new_string
5. พิมพ์ new_string

โค้ดตัวอย่าง

string_1 = "hafeez"
string_2 = "kareem"
new_string = ""

for char in string_1:
    if char not in string_2:
        new_string += char

for char in string_2:
    if char not in string_1:
        new_string += char

print(f"New String: {new_string}")

ผลลัพธ์

New String: hfzkrm

วิธี替代 (Alternative) ด้วย Set

string_1 = "hafeez"
string_2 = "kareem"

set1 = set(string_1)
set2 = set(string_2)

# symmetric difference: ตัวอักษรที่อยู่ในเซตใดเซตหนึ่ง แต่ไม่ใช่ทั้งสอง
uncommon = set1 ^ set2  # หรือ set1.symmetric_difference(set2)

# เรียงลำดับเพื่อความสม่ำเสมอ (optional)
result = ''.join(sorted(uncommon))
print(f"New String: {result}")

ผลลัพธ์

New String: fhkrmz

หมายเหตุ: วิธี Set จะไม่รักษาลำดับตัวอักษรตามสตริงต้นฉบับ และจะเอาตัวอักษรซ้ำในสตริงเดิมออกไป (unique characters only)

สรุป

วิธีลูปตรวจสอบเก็บลำดับและตัวซ้ำได้ วิธี Set สั้นกว่าแต่ได้ unique characters เท่านั้น เลือกใช้ตามต้องการ หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น