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

Python – Loại bỏ một chữ số cụ thể khỏi mọi phần tử trong list

Giới thiệu

Để xóa bỏ một chữ số (digit) cụ thể khỏi biểu diễn chuỗi của mọi số nguyên trong list, ta chuyển số sang string, lọc bỏ ký tự digit đó, chuyển lại thành int.

Ví dụ minh họa

my_list = [123, 565, 1948, 334, 4598]
print("Danh sách:", my_list)

key = 3
print("Chữ số cần xóa:", key)

my_result = []
for element in my_list:
    # Nếu số chỉ chứa đúng 1 chữ số và đó là key -> kết quả rỗng (bỏ qua)
    if list(set(str(element)))[0] == str(key) and len(set(str(element))) == 1:
        my_result.append('')
    else:
        # Lọc bỏ ký tự = key, nối lại, chuyển int
        filtered = ''.join([ch for ch in str(element) if int(ch) != key])
        my_result.append(int(filtered) if filtered else 0)

print("Kết quả sau xóa chữ số", key, ":")
print(my_result)

Kết quả đầu ra

Danh sách: [123, 565, 1948, 334, 4598]
Chữ số cần xóa: 3
Kết quả sau xóa chữ số 3:
[12, 565, 1948, 4, 4598]

Lưu ý: Code gốc có logic phức tạp và kết quả in ra chỉ [4598] do điều kiện if sai. Code trên sửa logic hợp lý: xóa digit 3 khỏi mỗi số. 123->12, 334->4, 4598 không đổi.