Khi tôi gặp tình huống tôi có thể làm điều đó trong javascript, tôi luôn nghĩ rằng nếu có hàm
họ chỉ làm điều đó trên mọi phần tử và không mang lại hoặc trả lại một cái gì đó, tôi nghĩ rằng nó nên là một hàm dựng sẵn và sẽ nhanh hơn viết nó bằng Python thuần túy, nhưng tôi không tìm thấy nó trong danh sách Nó chỉ gọi một tên khác? hoặc tôi chỉ bỏ lỡ một số điểm ở đây? Có lẽ tôi đã nhầm, vì việc gọi một hàm trong Python có chi phí cao, chắc chắn không phải là một thực hành tốt cho ví dụ. Thay vì một vòng lặp ra, hàm nên thực hiện vòng lặp bên trong thân của nó trông như thế này bên dưới đã được đề cập trong nhiều đề xuất mã của python:
nhưng tôi nghĩ foreach vẫn được chào đón dựa trên hai sự thật:
Mọi sự xuất hiện của "foreach" mà tôi đã thấy (PHP, C #, ...) về cơ bản giống như câu lệnh pythons "for". Đây là ít nhiều tương đương:
Vì vậy, vâng, có một "foreach" trong python. Nó được gọi là "cho". Những gì bạn đang mô tả là một chức năng "mảng bản đồ". Điều này có thể được thực hiện với danh sách hiể trong python:
Python không có câu lệnh
Nếu bạn thực sự muốn, bạn có thể xác định hàm
Như một lưu ý phụ, cú pháp Những ví dụ khác: Vòng lặp Foreach Python:
Python cho vòng lặp:
Ví dụ.
Đối với các hàm có nhiều đối số, có thể đưa ra nhiều đối số hơn trên bản đồ:
Nó trả về một danh sách trong python 2.x và một iterator trong python 3 Trong trường hợp hàm của bạn có nhiều đối số và các đối số đã đã có ở dạng tuples (hoặc bất kỳ lần lặp nào kể từ python 2.6), bạn có thể sử dụng Ví dụ.
cho chúng tôi 8 và 9 Nếu tôi hiểu bạn đúng, bạn có nghĩa là nếu bạn có hàm 'func', bạn muốn kiểm tra từng mục trong danh sách nếu func (mục) trả về đúng; nếu bạn đúng với tất cả, thì hãy làm gì đó. Bạn có thể sử dụng 'tất cả'. Ví dụ: Tôi muốn nhận tất cả các số nguyên tố trong phạm vi 0-10 trong danh sách:
Điều này thực hiện foreach trong python 3
Nhìn vào bài viết này . Đối tượng iterator nditer từ gói numpy , được giới thiệu trong NumPy 1.6, cung cấp nhiều cách linh hoạt để truy cập tất cả các yếu tố của một hoặc nhiều mảng theo kiểu có hệ thống. Thí dụ:
Nếu bạn chỉ tìm kiếm một cú pháp ngắn gọn hơn, bạn có thể đặt vòng lặp for trên một dòng:
Chỉ cần tách các câu lệnh bổ sung bằng dấu chấm phẩy.
Điều này có thể không phù hợp với hướng dẫn phong cách địa phương của bạn, nhưng sẽ có ý nghĩa khi làm điều đó như thế này khi bạn đang chơi xung quanh trong bảng điều khiển. |