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 6 thì nó sẽ thuận tiện. Theo foreach tôi có nghĩa là chức năng được mô tả dưới đây:
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 6 mỗi se . Nó có các vòng lặp 8 được tích hợp vào ngôn ngữ. Nếu bạn thực sự muốn, bạn có thể xác định hàm 6 của riêng mình:
Như một lưu ý phụ, cú pháp 0 xuất phát từ ABC ngôn ngữ lập trình, một trong những ảnh hưởng của Python.Những ví dụ khác: Vòng lặp Foreach Python:
Python cho vòng lặp:
1NAME _ có thể được sử dụng cho tình huống được đề cập trong câu hỏi.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 2 . (có một cú pháp rất giống với những gì bạn đang tìm kiếm). Nó trả về một iterator. đã 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 2 . (có một cú pháp rất giống với những gì bạn đang tìm kiếm). Nó trả về một iterator.Ví dụ. 0Đố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 2 . (có một cú pháp rất giống với những gì bạn đang tìm kiếm). Nó trả về một iterator.cho chúng tôi 8 và 9 1Nế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ì đó. 2Bạn có thể sử dụng 'tất cả'. 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. 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: 3Điều này thực hiện foreach trong python 3for trên một dòng: 4Nhì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. 5Thí dụ: |