lst = [["aaaa8"],["bb8"],["ccc8"],["dddddd8"]...]
msg = filter[lambda x : x != "8", lst]
print msg
EDIT: Đối với bất kỳ ai bắt gặp bài đăng này, chỉ để hiểu ở trên sẽ loại bỏ bất kỳ yếu tố nào khỏi danh sách bằng 8.
Giả sử chúng ta sử dụng ví dụ trên, phần tử đầu tiên ["AAAAA8"] sẽ không bằng 8 và do đó nó sẽ bị loại bỏ.
Để làm cho điều này [loại hoạt động?] Với ý định của câu hỏi là chúng ta có thể thực hiện một cái gì đó tương tự như thế này
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
- Tôi không ở trong một thông dịch viên vào lúc này, vì vậy tất nhiên là số dặm có thể thay đổi, chúng tôi có thể phải lập chỉ mục vì vậy chúng tôi làm danh sách [y [0]] sẽ là sửa đổi duy nhất cho các mục đích giải thích này.
Những gì điều này làm là chia từng yếu tố của danh sách thành một mảng các ký tự để ["AAAA8"] sẽ trở thành ["A", "A", "A", "A", "8"].
Điều này sẽ dẫn đến một loại dữ liệu trông như thế này
MSG = [["A", "A", "A", "A"], ["B", "B"] ...]
Vì vậy, cuối cùng để kết thúc điều đó, chúng ta sẽ phải ánh xạ nó để đưa tất cả chúng trở lại cùng loại
msg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
Tôi hoàn toàn không giới thiệu nó, nhưng nếu bạn thực sự muốn chơi với MAP và FILL, đó sẽ là cách tôi nghĩ rằng bạn có thể làm điều đó với một dòng duy nhất.
Trong bài viết này, bạn sẽ học cách sử dụng phương pháp danh sách
1 tích hợp của Python.msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
Cuối cùng, bạn sẽ biết cách sử dụng
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 để xóa một mục khỏi danh sách trong Python.Đây là những gì chúng tôi sẽ bao gồm:
- Cú pháp của phương pháp
1msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
- Xóa một phần tử khỏi danh sách bằng cách sử dụng
1msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 chỉ loại bỏ lần xuất hiện đầu tiên của một mụcmsg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
- Cách xóa tất cả các lần xuất hiện của một mặt hàng
Phương pháp msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 - Tổng quan về cú pháp
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
Phương pháp
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 là một trong những cách bạn có thể xóa các yếu tố khỏi danh sách trong Python.Phương thức
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 loại bỏ một mục khỏi danh sách theo giá trị của nó chứ không phải bằng số chỉ mục của nó.value and not
by its index number.Cú pháp chung của phương thức
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 trông như thế này:list_name.remove[value]
Hãy phá vỡ nó:
0 là tên của danh sách bạn đang làm việc.msg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
1 là một trong những phương pháp danh sách tích hợp của Python.msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 có một đối số yêu cầu duy nhất. Nếu bạn không cung cấp điều đó, bạn sẽ nhận đượcmsg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
3 - cụ thể bạn sẽ gặp lỗimsg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
4.required argument. If you do not provide that, you'll get amsg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
3 – specifically you'll get amsg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
4 error.msg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
5 là giá trị cụ thể của mặt hàng mà bạn muốn loại bỏ khỏimsg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
0.msg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
Phương thức
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 không trả về giá trị đã bị xóa mà thay vào đó chỉ trả về msg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
8, có nghĩa là không có giá trị trả về.Nếu bạn cần xóa một mục theo số chỉ mục của nó và/hoặc vì một số lý do bạn muốn trả về [lưu] giá trị bạn đã xóa, hãy sử dụng phương thức
msg = list[map[lambda q: ''.join[q], filter[lambda x: x != "8", map[lambda y: list[y[0]], lst]]]]
9 thay thế.Cách xóa một phần tử khỏi danh sách bằng phương thức msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 trong Python
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
Để xóa một phần tử khỏi danh sách bằng phương thức
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1, chỉ định giá trị của phần tử đó và chuyển nó làm đối số cho phương thức.msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 sẽ tìm kiếm danh sách để tìm và xóa nó.#original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]
#print original list
print[programming_languages]
# remove the value 'JavaScript' from the list
programming_languages.remove["JavaScript"]
#print updated list
print[programming_languages]
#output
#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']
Nếu bạn chỉ định một giá trị không có trong danh sách, thì bạn sẽ gặp lỗi - cụ thể là lỗi sẽ là
list_name.remove[value]
3:programming_languages = ["JavaScript", "Python", "Java", "C++"]
#I want to remove the value 'React'
programming_languages.remove["React"]
#print list
print[programming_languages]
#output
# line 5, in
#programming_languages.remove["React"]
#ValueError: list.remove[x]: x not in list
Để tránh lỗi này xảy ra, trước tiên bạn có thể kiểm tra xem giá trị bạn muốn xóa có trong danh sách để bắt đầu không, sử dụng từ khóa
list_name.remove[value]
4.Nó sẽ trả về giá trị boolean -
list_name.remove[value]
5 nếu mục nằm trong danh sách hoặc list_name.remove[value]
6 nếu giá trị không có trong danh sách.programming_languages = ["JavaScript", "Python", "Java", "C++"]
#check if 'React' is in the 'programming_languages' list
print["React" in programming_languages]
#output
#False
Một cách khác để tránh lỗi này là tạo ra một điều kiện mà về cơ bản, "nếu giá trị này là một phần của danh sách thì hãy xóa nó. Nếu nó không tồn tại, thì hãy hiển thị một thông báo nói rằng nó không có trong danh sách".
programming_languages = ["JavaScript", "Python", "Java", "C++"]
if "React" in programming_languages:
programming_languages.remove["React"]
else:
print["This value does not exist"]
#output
#This value does not exist
Bây giờ, thay vì gặp lỗi Python khi bạn đang cố xóa một giá trị nhất định không tồn tại, bạn sẽ nhận được một tin nhắn được trả về, nói rằng mục bạn muốn xóa không có trong danh sách bạn đang làm việc.
Phương pháp msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 loại bỏ sự xuất hiện đầu tiên của một mục trong danh sách
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
Một điều cần lưu ý khi sử dụng phương pháp
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 là nó sẽ tìm kiếm và sẽ chỉ xóa trường hợp đầu tiên của một mục.first instance of an item.Điều này có nghĩa là nếu trong danh sách có nhiều hơn một phiên bản của mục có giá trị bạn đã chuyển làm đối số cho phương thức, thì chỉ có lần xuất hiện đầu tiên sẽ bị xóa.
Hãy xem xét ví dụ sau:
programming_languages = ["JavaScript", "Python", "Java", "Python", "C++", "Python"]
programming_languages.remove["Python"]
print[programming_languages]
#output
#['JavaScript', 'Java', 'Python', 'C++', 'Python']
Trong ví dụ trên, mục có giá trị
list_name.remove[value]
9 đã xuất hiện ba lần trong danh sách.Khi
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 được sử dụng, chỉ loại bỏ phiên bản khớp đầu tiên - một trường hợp theo giá trị #original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]
#print original list
print[programming_languages]
# remove the value 'JavaScript' from the list
programming_languages.remove["JavaScript"]
#print updated list
print[programming_languages]
#output
#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']
1 và trước giá trị #original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]
#print original list
print[programming_languages]
# remove the value 'JavaScript' from the list
programming_languages.remove["JavaScript"]
#print updated list
print[programming_languages]
#output
#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']
2.Hai lần xuất hiện khác của
list_name.remove[value]
9 vẫn còn trong danh sách.Điều gì xảy ra mặc dù khi bạn muốn loại bỏ tất cả các lần xuất hiện của một mặt hàng?
Chỉ sử dụng
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1 không thực hiện được điều đó và bạn có thể không muốn xóa trường hợp đầu tiên của mục bạn đã chỉ định.Cách xóa tất cả các trường hợp của một mục trong danh sách trong Python
Một trong những cách để loại bỏ tất cả các lần xuất hiện của một mục bên trong danh sách là sử dụng danh sách hiểu.
Danh sách hiểu được tạo ra một danh sách mới từ một danh sách hiện có hoặc tạo ra cái được gọi là người phụ.
Điều này sẽ không sửa đổi danh sách ban đầu của bạn, nhưng thay vào đó sẽ tạo một danh sách mới thỏa mãn điều kiện bạn đặt.
#original list
programming_languages = ["JavaScript", "Python", "Java", "Python", "C++", "Python"]
#sublist created with list comprehension
programming_languages_updated = [value for value in programming_languages if value != "Python"]
#print original list
print[programming_languages]
#print new sublist that doesn't contain 'Python'
print[programming_languages_updated]
#output
#['JavaScript', 'Python', 'Java', 'Python', 'C++', 'Python']
#['JavaScript', 'Java', 'C++']
Trong ví dụ trên, có danh sách Orginal
#original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]
#print original list
print[programming_languages]
# remove the value 'JavaScript' from the list
programming_languages.remove["JavaScript"]
#print updated list
print[programming_languages]
#output
#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']
5.Sau đó, một danh sách mới [hoặc người phụ] được trả về.
Các mục chứa trong tua lại phải đáp ứng một điều kiện. Điều kiện là nếu một mục trong danh sách ban đầu có giá trị
list_name.remove[value]
9, thì nó sẽ không phải là một phần của trình phụ.Bây giờ, nếu bạn không muốn tạo một danh sách mới, nhưng thay vào đó muốn sửa đổi danh sách đã có tại chỗ, thì hãy sử dụng gán lát cắt kết hợp với danh sách hiểu.
Với gán lát cắt, bạn có thể sửa đổi và thay thế một số phần [hoặc lát] của một danh sách.
Để thay thế toàn bộ danh sách, hãy sử dụng cú pháp cắt
#original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]
#print original list
print[programming_languages]
# remove the value 'JavaScript' from the list
programming_languages.remove["JavaScript"]
#print updated list
print[programming_languages]
#output
#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']
7, cùng với sự hiểu biết danh sách.Danh sách hiểu đặt điều kiện rằng bất kỳ mục nào có giá trị
list_name.remove[value]
9 sẽ không còn là một phần của danh sách.msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
0Sự kết luận
Và bạn có nó rồi đấy! Bây giờ bạn đã biết cách xóa một mục danh sách trong Python bằng phương thức
msg = filter[lambda x: x != "8", map[lambda y: list[y], lst]]
1. Bạn cũng đã thấy một số cách để loại bỏ tất cả các lần xuất hiện của một mục trong một danh sách trong Python.Tôi hy vọng bạn thấy bài viết này hữu ích.
Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem máy tính khoa học của Freecodecamp với chứng nhận Python.
Bạn sẽ bắt đầu từ những điều cơ bản và học hỏi một cách thân thiện với người mới bắt đầu. Bạn cũng sẽ xây dựng năm dự án vào cuối để đưa vào thực tế và giúp củng cố những gì bạn đã học.
Cảm ơn bạn đã đọc và mã hóa hạnh phúc!
Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu