Trong khi ở python
Vòng lặp cho phép ta thực hiện các thao tác hoặc câu lệnh tính toán nhiều lần, Giúp lập trình viên giảm thời gian và viết mã công suất, tận dụng khả năng khả dụng và tốc độ xử lý của máy tính Show
Thông thường, khi sử dụng vòng lặp, ta nên khai báo các biến đếm. Biến đếm là những biến được khai báo ở vòng lặp, và phạm vi của biến đếm chỉ trong vòng lặp Biến đếm được sử dụng để kiểm tra vòng lặp, giá trị của nó sẽ thay đổi sau mỗi lần lặp Python support 2 loop type after2. Vòng lặp While trong Python
Cú pháp của vòng lặp whileVí dụ về vòng lặp while trong Pythonprint 'Số đếm là. ', đếm
5, để duyệt ra giá trị của biến 6
Kết quả của chương trình đúng như trên, theo giá trị của biến số 6 từ 03 đến 043. Vòng lặp for trong Python
Cú pháp của vòng lặp for trong Python
Ví dụ về vòng lặp cho
At in this ví dụ, ta khai báo một danh sách bao gồm 3 phần tử, là 3 chuỗi Sau đó, ta sử dụng vòng lặp để duyệt qua danh sách tên là 60 nàyTrong mỗi lần lặp, ta có giá trị của biến đếm Kết quả của vòng lặp nằm trong giá trị của từng phần tử trong danh sách Ngoài ra, ta có thể sử dụng vòng lặp để duyệt và in ra từng ký tự trong một chuỗi, như ví dụ sau Ở đây, ta đã duyệt và in ra từng ký tự trong chuỗi “_______961” bằng vòng lặp 62, với tên biến đếm là 63Kết quả của chương trình như sau Chúc mừng bạn đã biết cách sử dụng vòng lặp trong Python
Trong khi sử dụng vòng lặp for / while, hãy cẩn thận. Bởi nếu bạn nhầm lẫn (quên điều kiện / điều kiện sai) nó có thể dẫn đến một vòng lặp vô hạn khiến máy bạn bị treo Hầu hết các nhiệm vụ chúng ta gặp phải trong cuộc sống hàng ngày đều lặp đi lặp lại. Mặc dù những nhiệm vụ này có thể trở nên nhàm chán đối với con người, nhưng máy tính có thể xử lý các nhiệm vụ lặp đi lặp lại một cách nhanh chóng và hiệu quả. Chúng ta sẽ tìm hiểu cách thực hiện trong hướng dẫn này Hướng dẫn này dành cho người mới bắt đầu sử dụng Python, nhưng nếu bạn chưa từng viết một dòng mã nào trước đây, bạn có thể muốn hoàn thành khóa học Cơ bản về Python bắt đầu miễn phí của chúng tôi vì chúng tôi sẽ không đề cập đến cú pháp cơ bản tại đây.
Để đăng ký thành công từng thành viên của dân số vào nhóm tuổi của họ, chúng tôi sẽ hoàn thành quy trình hai bước mười nghìn lần. Khi chúng tôi hoàn thành thành công quy trình này một lần, chúng tôi đã lặp lại một lần. Khi chúng tôi hoàn thành quy trình này cho toàn bộ dân số, chúng tôi đã lặp lại 10.000 lần Lặp lại có nghĩa là thực hiện quy trình hai bước này nhiều lần. Sau một lần lặp lại, chúng tôi lặp lại quy trình từ đầu, tạo một vòng lặp. Do đó, một vòng lặp là thiết lập thực hiện một phép lặp Có hai loại lặp. xác định và không xác định. Với phép lặp xác định, bạn lặp qua một đối tượng có kích thước cố định. Điều này có nghĩa là bạn biết số lần lặp mà chương trình của bạn sẽ thực hiện ngay từ đầu. Nếu bạn không biết số lần lặp lại ngay từ đầu và bạn yêu cầu một số dạng logic có điều kiện để kết thúc vòng lặp, thì đó là một lần lặp không xác định Vòng lặp For trong Python là gì?Trong Python, chúng ta sử dụng vòng lặp for để duyệt qua các iterables và iterators. Đây là một ví dụ về phép lặp xác định và cú pháp cho thao tác vòng lặp Python for đơn giản trông như thế này
Không phải tất cả các loại dữ liệu đều hỗ trợ loại thao tác này. Chúng tôi gọi các loại dữ liệu hỗ trợ cho các hoạt động của vòng lặp có thể lặp lại. Iterables bao gồm string, list, set, freezeset, dictionary, tuple, DataFrame, range và array. Iterables là các đối tượng có thể triển khai các phương thức 7 và 8Iterators cũng hỗ trợ cho các hoạt động vòng lặp. Iterator là kiểu dữ liệu được hình thành khi phương thức 7 được gọi trên một iterable. Do đó, tất cả các lần lặp đều có các trình vòng lặp của chúng. Tuy nhiên, có một số kiểu dữ liệu là trình vòng lặp theo mặc định. Các ví dụ bao gồm zip, liệt kê và trình tạo. Trình vòng lặp chỉ có thể triển khai phương thức 0Các hoạt động yêu cầu nhiều vòng lặp for được lồng vào nhau cho các hoạt động của vòng lặp. Cú pháp cho một hoạt động với hai vòng lặp for trông như thế này
Một vòng lặp for có một khối tùy chọn khác thực thi khi hết hoạt động của vòng lặp for. Cú pháp for-else với hai thao tác vòng lặp for trông như thế này
Để chuyển đổi một iterable thành một iterator object, chúng ta có thể gọi phương thức 7 hoặc hàm 2. Cú pháp cho cả hai hoạt động hơi khác nhau, nhưng chúng đạt được cùng một kết quả
Hàm 2 gọi phương thức 7 để thực hiện chuyển đổi nàyKhi chúng ta có một đối tượng iterator, chúng ta có thể trả về các mục trong đối tượng iterator bằng phương thức 0 hoặc hàm 6. Cú pháp cho hoạt động này trông như thế này
Hàm 6 gọi phương thức 0 để trả về mục tiếp theo trong trình vòng lặp. Khi bạn đã sử dụng hết tất cả các mục trong trình vòng lặp, phương thức 0 sẽ tăng ngoại lệ StopIteration để cho bạn biết rằng trình vòng lặp hiện đang trống. Ngoại lệ này không được đưa ra nếu hàm 6 được gọi với giá trị mặc định. Nó trả về giá trị mặc định thay vìHoạt động của vòng lặp for trong Python tương tự như gọi phương thức 7 và phương thức 0 một hoặc nhiều lần cho đến khi hết các mục trong trình vòng lặp, như chúng ta sẽ thấy trong các phần sauLặp qua một chuỗiChuỗi là ví dụ về kiểu dữ liệu bất biến. Sau khi được tạo, giá trị của nó không thể được cập nhật. Chúng tôi đã xác định rằng bạn sử dụng vòng lặp for cho một đối tượng có kích thước xác định. Chúng tôi sử dụng hàm 13 để lấy kích thước của chuỗi 1Chúng tôi cũng tuyên bố rằng các chuỗi có thể lặp lại và chúng có thể triển khai các phương thức ____17 và 0. Đoạn mã dưới đây cho thấy việc thực hiện các phương pháp này 5đầu ra g Phương thức 7 chuyển đổi kiểu dữ liệu thành chuỗi lặp và phương thức 0 lần lượt trả về các mục trong chuỗi. Nếu bạn sử dụng phương thức 0 đủ số lần, bạn sẽ trả về tất cả các mục trong chuỗiChúng ta có thể thực hiện thao tác tương tự bằng cách sử dụng vòng lặp for. Có hai cách để làm điều này. Trong phương thức đầu tiên, bạn lặp qua chuỗi 9đầu ra g Trong phương thức thứ hai, bạn lặp qua chỉ mục của chuỗi và truy cập các mục trong chuỗi bằng giá trị chỉ mục của chúng. Chúng tôi lấy chỉ mục của một chuỗi từ kích thước của nó với hàm phạm vi đầu ra g Lặp lại thông qua một danh sáchKhông giống như chuỗi, danh sách có thể thay đổi. Giống như các chuỗi, chúng có thể lặp lại. Do đó, danh sách triển khai các phương thức 19, 7 và 0 3đầu ra 4 Phương thức 7 chuyển đổi đối tượng danh sách thành trình lặp danh sách và phương thức 0 lần lượt trả về các mục trong trình vòng lặp. Chúng ta có thể thực hiện các thao tác tương tự trên một danh sách bằng vòng lặp for 6đầu ra lập trình Lặp qua TupleTuple là một tập hợp các đối tượng được phân tách bằng dấu phẩy. Các hoạt động của nó rất giống với một danh sách, nhưng một tuple là bất biến. Tuple là một iterable và nó thực hiện các phương thức 19, 7 và 0 0đầu ra 4 Hàm 2 chuyển đổi đối tượng tuple thành bộ lặp tuple và hàm 6 lần lượt trả về các mục trong bộ lặp. Chúng ta có thể thực hiện các thao tác tương tự với vòng lặp for 1đầu ra lập trình Lặp lại qua Set và FrozensetTrong Python, set là một đối tượng có thể thay đổi. Frozenset có các thuộc tính tương tự set, nhưng nó không thay đổi. Set và freezeset có kích thước xác định và chúng có thể lặp lại. Do đó, sử dụng kết hợp hàm 6 và 2 trên một tập hợp và một đối tượng freezeset sẽ cho kết quả tương tự như vòng lặp for 2đầu ra không Hàm 2 chuyển đổi các đối tượng set và freezeset thành set iterator, trong khi hàm 6 lần lượt trả về các mục trong set iteratorLặp lại thông qua một từ điểnTừ điển Python là một đối tượng lưu trữ dữ liệu dưới dạng các cặp khóa-giá trị. Khóa của từ điển phải là kiểu dữ liệu bất biến. Do đó, các chuỗi, số nguyên và bộ dữ liệu là các khóa từ điển thích hợp. Các mục trong từ điển có thể được đánh giá bằng khóa của chúng. Giống như các iterables đã thảo luận trước đó, một từ điển có kích thước xác định và thực hiện các hàm 2 và 6 3đầu ra 3 Hàm 2 chuyển đổi đối tượng từ điển thành dictionary_keyiterator. Lưu ý từ tên của đối tượng mới và từ đầu ra rằng thao tác tiếp theo lặp lại trên các khóa từ điển. Chúng ta có thể thực hiện các thao tác tương tự bằng cách sử dụng vòng lặp for 4đầu ra Kate Bạn cũng có thể lặp lại một giá trị từ điển bằng cú pháp sau 5đầu ra [85, 90, 95] Đầu ra của đoạn mã trên là một danh sách Python, có thể lặp lại. Khi chúng ta có hai lần lặp, chúng ta có thể áp dụng cú pháp vòng lặp for lồng nhau 6đầu ra 85 Chúng tôi đã thấy các ví dụ về cách lặp lại các khóa và giá trị của từ điển một cách riêng biệt. Tuy nhiên, chúng ta có thể làm cả hai cùng một lúc với cú pháp sau 7đầu ra Kate Lặp lại qua ZipChúng tôi sử dụng hàm 96 để lặp song song. Điều này có nghĩa là bạn có thể lặp lại hai hoặc nhiều lần lặp lại cùng một lúc. Nó trả về một bộ chứa các mục song song của các lần lặp được truyền qua nó 8đầu ra (0, 'a') Không giống như các iterable khác mà chúng ta đã thấy chuyển đổi iterable thành iterator của chúng bằng hàm 2, hàm 96 không yêu cầu bước này vì nó là một iterator. Nó sử dụng hàm 6 để lần lượt trả về các mục dưới dạng một bộ 9đầu ra (0, ‘a’) Chúng ta cũng có thể sử dụng hàm 96 để lặp song song với các lần lặp có kích thước khác nhau 0đầu ra (‘a’, 1) Kích thước của kết quả bằng kích thước của lần lặp nhỏ nhất, như được hiển thị trong đoạn mã trên Lặp lại qua DataFrameKhung dữ liệu gấu trúc là cấu trúc dữ liệu dạng bảng hai chiều có thể thay đổi. Nó là một iterable và thực hiện các chức năng 13, 2 và 6 1đầu ra Vật lý Hàm 2 chuyển đổi DataFrame thành đối tượng bản đồ, là một trình vòng lặp. Hàm 6 trả về tên cột. Điều này tương tự như việc sử dụng vòng lặp for 2đầu ra Vật lý Chúng tôi có thể muốn lặp lại các hàng của DataFrame, không phải tên cột của chúng. Chúng ta có thể đạt được điều này bằng phương pháp 36. Nó trả về một bộ của mỗi hàng bắt đầu bằng chỉ mục 3đầu ra (‘Oliver’, Vật lý 90 Lặp qua EnumerateGiống như hàm 96, hàm 38 là một iterator. Do đó, nó không cần chức năng 2 để hoạt động. Chúng tôi sử dụng nó để lặp lại một lần lặp. Nó trả về một bộ chứa chỉ mục và giá trị được liên kết với chỉ mục đó. Chúng tôi sử dụng thuộc tính bắt đầu để đặt giá trị chỉ mục bắt đầu 4đầu ra (5, 'lập trình') Chúng ta có thể nhận được kết quả tương tự bằng cách sử dụng vòng lặp for 5đầu ra (5, 'lập trình') Lặp lại thông qua máy phát điệnTrong Python, trình tạo là một hàm đặc biệt sử dụng kết quả thay vì câu lệnh trả về. Chúng tôi gọi nó là lazy iterator vì nó không lưu trữ tất cả nội dung của nó trong bộ nhớ; 6đầu ra 1 7đầu ra 1 Để hiểu vòng lặp và danh sáchHiểu danh sách là một cách để tạo danh sách từ bất kỳ lần lặp nào. Đó là một cách thú vị để đơn giản hóa vòng lặp for kết thúc bằng câu lệnh append 8đầu ra [97, 98, 99, 100, 101] Đoạn mã trên được viết dưới dạng hiểu danh sách trông như thế này 9đầu ra [97, 98, 99, 100, 101] Chúng tôi sử dụng khả năng hiểu danh sách để đơn giản hóa một vòng lặp lồng nhau như thế này 0đầu ra [6, 12, 18, 24, 12, 24, 36, 48, 18, 36, 54, 72, 24, 48, 72, 96] Được viết với khả năng hiểu danh sách, chúng tôi sử dụng đoạn mã sau 1đầu ra [6, 12, 18, 24, 12, 24, 36, 48, 18, 36, 54, 72, 24, 48, 72, 96] Hiểu tập hợp rất giống với hiểu danh sách. Kiểu dữ liệu đầu ra là một tập hợp thay vì một danh sách. Ví dụ về vòng lặp for lồng nhau được biểu diễn dưới dạng hiểu tập hợp là 2đầu ra {6, 12, 18, 24, 36, 48, 54, 72, 96} Kích thước của kết quả từ hiểu tập hợp nhỏ hơn hiểu danh sách; Phá vỡ và tiếp tục từ khóa trong vòng lặp ForĐôi khi, chúng ta muốn kết thúc việc thực hiện một vòng lặp khi một điều kiện nào đó được đáp ứng. Chúng tôi sử dụng từ khóa break để thoát ra khỏi vòng lặp. Ví dụ 3đầu ra 6 Từ khóa break dừng việc thực thi vòng lặp for, nhưng đôi khi chúng ta có thể muốn bỏ qua một mục đáp ứng một điều kiện nhất định và tiếp tục với bước lặp của chúng ta. Đây là những gì công việc chính tiếp tục làm 4đầu ra 6 Vòng lặp For-ElseVòng lặp for có một câu lệnh khác tùy chọn. Khối other sẽ thực thi nếu vòng lặp for không gặp từ khóa break trong khi thực thi. Ví dụ 5đầu ra 6 Trong đoạn mã trên, vòng lặp for gặp từ khóa break và kết thúc việc thực hiện vòng lặp. Do đó, khối khác không thực thi. Không có từ khóa break, khối lệnh khác sẽ thực thi sau vòng lặp for 6đầu ra 6 Vòng lặp for không gặp từ khóa break Sự kết luậnChúng tôi sử dụng vòng lặp for để duyệt qua một lần lặp với kích thước xác định. Phương thức 61 chuyển đổi iterable thành iterator của nó và phương thức 0 lần lượt trả về các mục trong iterable. Hoạt động của vòng lặp for tương tự như gọi phương thức 7 trên một iterable để nhận một iterator, cũng như gọi phương thức 0 một hoặc nhiều lần cho đến khi iterator trống. Chúng ta đã thảo luận về vòng lặp for đơn giản và lồng nhau, cách vòng lặp for hoạt động đối với các loại dữ liệu khác nhau và cách các từ khóa ngắt và tiếp tục hoạt động bên trong vòng lặpNếu bạn muốn tiếp tục khám phá các vòng lặp trong Python, hãy xem hướng dẫn Dataquest khác dành cho người mới bắt đầu này. Để có cái nhìn nâng cao hơn về các vòng lặp trong Python, hãy xem hướng dẫn Dataquest này hướng dẫn python cho vòng lặp Thông tin về các Tác giả yêu cầu dữ liệuDataquest dạy thông qua các bài tập và dự án đầy thách thức thay vì các bài giảng video. Đó là cách hiệu quả nhất để học các kỹ năng bạn cần để xây dựng sự nghiệp dữ liệu của mình |