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

โปรแกรม Python ลบคำที่เกิดครั้งที่ N ใน List ที่คำอาจซ้ำกัน


ภาพรวม

เมื่อต้องการลบคำที่เกิดครั้งที่ N ใน List ของคำ โดยคำอาจซ้ำกัน สามารถนิยามเมธอด วนลูปผ่าน List เพิ่มตัวนับ 1 ถ้าตัวนับและครั้งที่ N ตรงกัน ลบองค์ประกอบนั้นออกจาก List

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

def remove_word(my_list, my_word, N):
    count = 0
    for i in range(0, len(my_list)):
        if (my_list[i] == my_word):
            count = count + 1
            if(count == N):
                del(my_list[i])
                return True
    return False

my_list = ['Harry', 'Jane', 'Will', 'Rob', 'Harry']
print("The list is :")
print(my_list)
my_word = 'Harry'
N = 2
flag_val = remove_word(my_list, my_word, N)
if (flag_val == True):
    print("The updated list is: ", my_list)
else:
    print("Item hasn't been updated")

ผลลัพธ์ตัวอย่าง

The list is : ['Harry', 'Jane', 'Will', 'Rob', 'Harry']
The updated list is: ['Harry', 'Jane', 'Will', 'Rob']

คำอธิบาย

  • นิยามเมธอด remove_word รับ List, คำ, และค่า N เป็นพารามิเตอร์
  • กำหนดค่า count = 0
  • วนลูป List ตรวจสอบว่าองค์ประกอบตรงกับคำเฉพาะหรือไม่
  • ถ้าตรง เพิ่มตัวแปร count
  • ถ้า count เท่ากับ N ลบองค์ประกอบออกจาก List ด้วยคีย์เวิร์ด del
  • นิยาม List ของ String แสดงบนคอนโซล
  • เรียกเมธอดส่งพารามิเตอร์ที่เกี่ยวข้อง
  • แสดงผลลัพธ์บนคอนโซล