Lọc số chẵn trong danh sách Python
Chạy trong trăn 3. phiên bản x Ở đây chúng tôi viết một chương trình để lọc một số chẵn từ danh sách bằng hàm lọc và lambda Giả sử danh sách là li = [1,2,3,4,5,6,7,8,9,10]
Dung dịch
li = [1,2,3,4,5,6,7,8,9,10]
eve_num = filter(lambda x: x%2==0, li)
print(eve_num)
Chương trình python khác của Codersarts
Để xem chương trình codersarts hoàn chỉnh, nhấp vào liên kết này Dave, trong biến thể mã của bạn, bạn đặt tên hàm là “myfunc”, nhưng sau đó thử gọi một hàm không tồn tại là “list_even” Đó là lý do tại sao bạn nhận được lỗi Bạn dường như có một chút nhầm lẫn về cái tên đi với cái gì. Trong hàm 5 của bạn, bạn đặt tên cho đối số đầu vào là “x”. Nhưng sau đó bạn thử lặp lại hàm 5
Chúng ta có thể cải thiện điều này bằng cách chọn tên tốt hơn, mô tả mục đích của hàm hoặc biến là gì
Điều xảy ra ở đây là khi trình thông dịch đến dòng 7, nó sẽ tạo một danh sách các số và đặt tên cho nó là “số”Đây là một biến toàn cục, bởi vì bất cứ nơi nào bên trong kịch bản của bạn (các. py) có thể nhìn thấy nó - nó là toàn cầu đối với toàn bộ tập lệnh Khi bạn chuyển biến cho hàm 8, trình thông dịch sẽ lấy danh sách và đặt cho nó một tên thứ hai, “list_of_numbers”. Không giống như tên “số” là toàn cầu, “list_of_numbers” là một biến cục bộ nên nó chỉ hiển thị đối với mã bên trong hàm 8Là cục bộ của hàm 8, nếu bạn cố gắng tham khảo “list_of_numbers” bên ngoài hàm 8, bạn sẽ gặp lỗi tên không tồn tạiLý do tại sao danh sách “số” được xác định bên dưới hàm là… không có lý do cụ thể nào. Thực tế phổ biến là xác định các chức năng của bạn ở đầu. py và dữ liệu bên dưới chúng, nhưng không bắt buộc. Điều duy nhất bắt buộc là dữ liệu và chức năng tồn tại khi bạn sử dụng chúng
li = [1,2,3,4,5,6,7,8,9,10]
eve_num = filter(lambda x: x%2==0, li)
print(eve_num)
1Hy vọng điều này sẽ giúp giải thích tại sao và khi nào phiên dịch viên sẽ thấy một cái tên thay vì phàn nàn rằng nó không tồn tại Hãy quay lại mã này của bạn dave
Gợi ý cụ thể hơn
Tôi khuyên bạn nên đọc một chút về chức năng. Tôi nghĩ rằng thông tin bạn cần là ở đây w3schools. comHàm PythonW3Schools cung cấp các hướng dẫn, tài liệu tham khảo và bài tập trực tuyến miễn phí bằng tất cả các ngôn ngữ chính của web. Bao gồm các chủ đề phổ biến như HTML, CSS, JavaScript, Python, SQL, Java và nhiều, nhiều chủ đề khác |