Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python xóa lần xuất hiện thứ n của từ cho trước trong danh sách có từ trùng lặp

Khi cần xóa một lần xuất hiện cụ thể của một từ cho trước trong danh sách các từ, cho rằng các từ có thể lặp lại, một phương thức có thể được định nghĩa, duyệt qua danh sách và tăng bộ đếm lên 1. Nếu bộ đếm và lần xuất hiện cụ thể khớp, thì phần tử cụ thể từ danh sách có thể bị xóa.

Ví dụ

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("Danh sách là: ")
print(my_list)
my_word = 'Harry'
N = 2
flag_val = remove_word(my_list, my_word, N)
if (flag_val == True):
    print("Danh sách cập nhật là: ", my_list)
else:
    print("Mục chưa được cập nhật")

Kết quả

Danh sách là: ['Harry', 'Jane', 'Will', 'Rob', 'Harry']
Danh sách cập nhật là: ['Harry', 'Jane', 'Will', 'Rob']

Giải thích

  • Phương thức remove_word được định nghĩa, nhận danh sách, một từ và giá trị cho n làm tham số.
  • Giá trị count được khởi tạo là 0.
  • Danh sách được duyệt qua, và kiểm tra xem phần tử trong danh sách có khớp với một từ cụ thể không.
  • Nếu khớp, biến count được tăng lên.
  • Nếu biến count này bằng giá trị n, thì phần tử từ danh sách bị xóa.
  • Được sử dụng bằng từ khóa del.
  • Một danh sách chuỗi được định nghĩa và hiển thị trên console.
  • Phương thức được gọi bằng cách truyền các tham số liên quan.
  • Kết quả được hiển thị trên console.