Trình lặp kép Python
Trong Python, một vòng lặp 3 thường được viết dưới dạng một vòng lặp trên một đối tượng có thể lặp lại. Điều này có nghĩa là bạn không cần một biến đếm để truy cập các mục trong iterable. Tuy nhiên, đôi khi bạn muốn có một biến thay đổi trên mỗi lần lặp lại vòng lặp. Thay vì tự tạo và tăng biến, bạn có thể sử dụng Python's 4 để nhận bộ đếm và giá trị từ biến có thể lặp lại cùng một lúc Show
Trong hướng dẫn này, bạn sẽ thấy cách
Bắt đầu nào Tải xuống miễn phí. Nhận một chương mẫu từ CPython Internals. Hướng dẫn về Trình thông dịch Python 3 chỉ cho bạn cách mở khóa hoạt động bên trong của ngôn ngữ Python, biên dịch trình thông dịch Python từ mã nguồn và tham gia phát triển CPython Lặp lại với vòng lặp >>> index = 0 >>> for value in values: .. print(index, value) ... 0 a 0 b 0 c 3 trong PythonVòng lặp 3 trong Python sử dụng phép lặp dựa trên bộ sưu tập. Điều này có nghĩa là Python gán mục tiếp theo từ một biến có thể lặp lại cho biến vòng lặp trên mỗi lần lặp, như trong ví dụ này>>>
Trong ví dụ này, 02 là một danh sách có ba chuỗi, 03, 04 và 05. Trong Python, danh sách là một loại đối tượng có thể lặp lại. Trong vòng lặp 3, biến vòng lặp là 07. Trên mỗi lần lặp của vòng lặp, 07 được đặt thành mục tiếp theo từ 02Tiếp theo, bạn in 07 lên màn hình. Ưu điểm của phép lặp dựa trên tập hợp là nó giúp tránh lỗi từng lỗi thường gặp ở các ngôn ngữ lập trình khácBây giờ hãy tưởng tượng rằng, ngoài giá trị của chính nó, bạn muốn in chỉ mục của mục trong danh sách ra màn hình trên mỗi lần lặp lại. Một cách để tiếp cận nhiệm vụ này là tạo một biến để lưu trữ chỉ mục và cập nhật nó trên mỗi lần lặp lại >>> 9Trong ví dụ này, 01 là một số nguyên theo dõi xem bạn đang ở bao xa trong danh sách. Trên mỗi lần lặp của vòng lặp, bạn in 01 cũng như 07. Bước cuối cùng trong vòng lặp là cập nhật số được lưu trữ trong 01 theo một. Một lỗi phổ biến xảy ra khi bạn quên cập nhật 01 trên mỗi lần lặp lại>>>
Trong ví dụ này, 01 giữ ở mức 07 trong mỗi lần lặp vì không có mã để cập nhật giá trị của nó ở cuối vòng lặp. Đặc biệt đối với các vòng lặp dài hoặc phức tạp, loại lỗi này nổi tiếng là khó theo dõiMột cách phổ biến khác để tiếp cận vấn đề này là sử dụng 08 kết hợp với 09 để tự động tạo chỉ mục. Bằng cách này, bạn không cần nhớ cập nhật chỉ mục>>> 0Trong ví dụ này, 10 trả về độ dài của 02, là 12. Sau đó, 08 tạo một trình vòng lặp chạy từ giá trị bắt đầu mặc định là 07 cho đến khi đạt tới 10 trừ đi một. Trong trường hợp này, 01 trở thành biến vòng lặp của bạn. Trong vòng lặp, bạn đặt 07 bằng với mục trong 02 ở giá trị hiện tại là 01. Cuối cùng, bạn in 01 và 07Với ví dụ này, một lỗi phổ biến có thể xảy ra là khi bạn quên cập nhật 07 ở đầu mỗi lần lặp lại. Điều này tương tự như lỗi quên cập nhật chỉ mục trước đây. Đây là một lý do mà vòng lặp này không được coi là PythonicVí dụ này cũng bị hạn chế phần nào vì 02 phải cho phép truy cập vào các mục của nó bằng chỉ số nguyên. Iterables cho phép loại truy cập này được gọi là trình tự trong PythonChi tiết kỹ thuật. Theo tài liệu Python, một iterable là bất kỳ đối tượng nào có thể trả về từng thành viên của nó một lần. Theo định nghĩa, iterables hỗ trợ giao thức iterator, giao thức này chỉ định cách các thành viên đối tượng được trả về khi một đối tượng được sử dụng trong một trình lặp. Python có hai loại iterables thường được sử dụng
Bất kỳ iterable nào cũng có thể được sử dụng trong vòng lặp 3, nhưng chỉ có thể truy cập các chuỗi bằng chỉ số nguyên. Cố gắng truy cập các mục theo chỉ mục từ trình tạo hoặc trình vòng lặp sẽ làm tăng 65>>> 0Trong ví dụ này, bạn chỉ định giá trị trả về của 4 cho 67. 4 là một iterator, do đó, việc cố gắng truy cập các giá trị của nó theo chỉ mục sẽ làm tăng 65May mắn thay, 4 của Python cho phép bạn tránh được tất cả những vấn đề này. Đây là một chức năng tích hợp sẵn, có nghĩa là nó có sẵn trong mọi phiên bản Python kể từ khi được thêm vào Python 2. 3, quay trở lại năm 2003Loại bỏ các quảng cáoSử dụng >>> index = 0 >>> for value in values: .. print(index, value) ... 0 a 0 b 0 c 4 của PythonBạn có thể sử dụng 4 trong một vòng lặp gần giống như cách bạn sử dụng đối tượng có thể lặp ban đầu. Thay vì đặt iterable trực tiếp sau 53 trong vòng lặp 3, bạn đặt nó bên trong dấu ngoặc đơn của 4. Bạn cũng phải thay đổi biến vòng lặp một chút, như trong ví dụ này>>> 1Khi bạn sử dụng 4, hàm sẽ cung cấp cho bạn hai biến vòng lặp
Cũng giống như vòng lặp 3 bình thường, các biến vòng lặp có thể được đặt tên theo bất cứ tên nào bạn muốn. Bạn sử dụng 58 và 07 trong ví dụ này, nhưng chúng có thể được đặt tên là 30 và 31 hoặc bất kỳ tên Python hợp lệ nào khácVới 4, bạn không cần nhớ truy cập mục từ lần lặp và bạn không cần nhớ tăng chỉ mục ở cuối vòng lặp. Mọi thứ được xử lý tự động cho bạn bởi sự kỳ diệu của Pythonchi tiết kỹ thuật. Việc sử dụng hai biến vòng lặp, 58 và 07, được phân tách bằng dấu phẩy là một ví dụ về giải nén đối số. Tính năng Python mạnh mẽ này sẽ được thảo luận thêm một chút sau trong bài viết này 4 của Python có một đối số bổ sung mà bạn có thể sử dụng để kiểm soát giá trị bắt đầu của số đếm. Theo mặc định, giá trị bắt đầu là 07 vì các kiểu chuỗi Python được lập chỉ mục bắt đầu bằng 0. Nói cách khác, khi bạn muốn truy xuất phần tử đầu tiên của danh sách, bạn sử dụng chỉ mục 07>>> 6Bạn có thể thấy trong ví dụ này rằng việc truy cập 02 với chỉ số 07 sẽ cho phần tử đầu tiên, 40. Tuy nhiên, có nhiều lúc bạn không muốn đếm từ 4 bắt đầu từ 07. Chẳng hạn, bạn có thể muốn in một số đếm tự nhiên làm đầu ra cho người dùng. Trong trường hợp này, bạn có thể sử dụng đối số 43 cho 4 để thay đổi số đếm bắt đầu>>> 5Trong ví dụ này, bạn vượt qua 45, bắt đầu bằng 58 với giá trị 47 trong lần lặp đầu tiên. So sánh điều này với các ví dụ trước, trong đó 43 có giá trị mặc định là 07 và xem liệu bạn có thể phát hiện ra sự khác biệt hay khôngThực hành với Python >>> index = 0 >>> for value in values: .. print(index, value) ... 0 a 0 b 0 c 4Bạn nên sử dụng 4 bất cứ lúc nào bạn cần sử dụng số đếm và một mục trong một vòng lặp. Hãy nhớ rằng 4 tăng số lượng lên một trên mỗi lần lặp lại. Tuy nhiên, điều này chỉ hạn chế một chút tính linh hoạt của bạn. Vì số đếm là một số nguyên tiêu chuẩn của Python nên bạn có thể sử dụng nó theo nhiều cách. Trong vài phần tiếp theo, bạn sẽ thấy một số cách sử dụng của 4Số lượng mục Iterable tự nhiênỞ phần trước, bạn đã biết cách sử dụng 4 với 43 để tạo số đếm tự nhiên in ra cho người dùng. 4 cũng được sử dụng như thế này trong cơ sở mã Python. Bạn có thể xem một ví dụ trong tập lệnh đọc các tệp reST và thông báo cho người dùng khi có vấn đề về định dạngGhi chú. reST, còn được gọi là Văn bản được cấu trúc lại, là định dạng chuẩn cho các tệp văn bản mà Python sử dụng cho tài liệu. Bạn sẽ thường thấy các chuỗi có định dạng reST được bao gồm dưới dạng tài liệu trong các hàm và lớp Python. Các tập lệnh đọc các tệp mã nguồn và thông báo cho người dùng về các vấn đề định dạng được gọi là xơ vải vì chúng tìm kiếm xơ vải ẩn dụ trong mã Ví dụ này được sửa đổi một chút từ 907. Đừng quá lo lắng về cách chức năng này kiểm tra sự cố. Vấn đề là thể hiện việc sử dụng 4 trong thế giới thực 3 909 lấy một đối số, 910, là các dòng của tệp cần được đánh giá. Trên dòng thứ ba của 909, 4 được sử dụng trong một vòng lặp trên 910. Điều này trả về số dòng, viết tắt là 914 và 915. Vì 43 không được sử dụng, nên 914 là bộ đếm dựa trên 0 của các dòng trong tệp. 909 sau đó thực hiện một số kiểm tra cho các ký tự không đúng chỗ
Khi một trong những mục này xuất hiện, 909 sẽ hiển thị số dòng hiện tại và một thông báo hữu ích cho người dùng. Biến đếm 914 có thêm 47 để nó trả về số dòng đếm thay vì chỉ số dựa trên số 0. Khi người dùng của 907 đọc tin nhắn, họ sẽ biết nên chuyển đến dòng nào và cần sửa lỗi gìLoại bỏ các quảng cáoTuyên bố có điều kiện để bỏ qua các mụcSử dụng các câu điều kiện để xử lý các mục có thể là một kỹ thuật rất hiệu quả. Đôi khi, bạn có thể cần thực hiện một hành động chỉ trong lần lặp đầu tiên của một vòng lặp, như trong ví dụ này >>> 4Trong ví dụ này, bạn sử dụng một danh sách làm cơ sở dữ liệu giả về người dùng. Người dùng đầu tiên là người dùng thử nghiệm của bạn, vì vậy bạn muốn in thêm thông tin chẩn đoán về người dùng đó. Vì bạn đã thiết lập hệ thống của mình sao cho người dùng thử là người đầu tiên, nên bạn có thể sử dụng giá trị chỉ mục đầu tiên của vòng lặp để in đầu ra dài dòng bổ sung Bạn cũng có thể kết hợp các phép toán với các điều kiện cho số đếm hoặc chỉ số. Chẳng hạn, bạn có thể cần trả về các mục từ một lần lặp, nhưng chỉ khi chúng có chỉ mục chẵn. Bạn có thể làm điều này bằng cách sử dụng 4>>> 90 926 lấy một đối số, được gọi là 927, đó phải là một loại đối tượng mà Python có thể lặp lại. Đầu tiên, 02 được khởi tạo thành một danh sách trống. Sau đó, bạn tạo một vòng lặp 3 trên 927 với 4 và đặt 45Trong vòng lặp 3, bạn kiểm tra xem phần còn lại của phép chia 01 cho 935 có bằng 0 không. Nếu đúng như vậy, thì bạn nối mục đó vào 02. Cuối cùng, bạn quay trở lại 02Bạn có thể làm cho mã Pythonic hơn bằng cách sử dụng khả năng hiểu danh sách để thực hiện điều tương tự trong một dòng mà không cần khởi tạo danh sách trống >>> 91Trong mã ví dụ này, 926 sử dụng khả năng hiểu danh sách thay vì vòng lặp 3 để trích xuất mọi mục từ danh sách có chỉ mục là số chẵnBạn có thể xác minh rằng 926 hoạt động như mong đợi bằng cách lấy các mục được lập chỉ mục chẵn từ một dải số nguyên từ 47 đến 942. Kết quả sẽ là 943>>> 92Như mong đợi, 926 trả về các mục được lập chỉ mục chẵn từ 945. Đây không phải là cách hiệu quả nhất để lấy số chẵn khi bạn làm việc với số nguyên. Tuy nhiên, bây giờ bạn đã xác minh rằng 926 hoạt động bình thường, bạn có thể nhận được các chữ cái được lập chỉ mục chẵn của bảng chữ cái ASCII>>> 93 947 là một chuỗi có tất cả 26 chữ cái viết thường của bảng chữ cái ASCII. Gọi 926 và chuyển 947 trả về một danh sách các chữ cái xen kẽ từ bảng chữ cáiCác chuỗi Python là các chuỗi, có thể được sử dụng trong các vòng lặp cũng như trong lập chỉ mục và cắt số nguyên. Vì vậy, trong trường hợp chuỗi, bạn có thể sử dụng dấu ngoặc vuông để đạt được chức năng tương tự như 926 hiệu quả hơn>>> 94Sử dụng kỹ thuật cắt chuỗi ở đây, bạn đưa ra chỉ số bắt đầu là 47, tương ứng với phần tử thứ hai. Không có chỉ mục kết thúc sau dấu hai chấm đầu tiên, vì vậy Python đi đến cuối chuỗi. Sau đó, bạn thêm dấu hai chấm thứ hai theo sau bởi một 935 để Python sẽ lấy mọi phần tử khácTuy nhiên, như bạn đã thấy trước đó, trình tạo và trình lặp không thể được lập chỉ mục hoặc cắt lát, vì vậy bạn vẫn sẽ thấy 4 hữu ích. Để tiếp tục ví dụ trước, bạn có thể tạo một hàm tạo để tạo ra các chữ cái trong bảng chữ cái theo yêu cầu>>> 95Trong ví dụ này, bạn định nghĩa 954, một hàm tạo cho ra từng chữ cái trong bảng chữ cái khi hàm này được sử dụng trong một vòng lặp. Các hàm Python, cho dù là trình tạo hay hàm thông thường, không thể được truy cập bằng cách lập chỉ mục dấu ngoặc vuông. Bạn thử điều này ở dòng thứ hai, và nó tăng 65Tuy nhiên, bạn có thể sử dụng các hàm tạo trong các vòng lặp và bạn làm như vậy ở dòng cuối cùng bằng cách chuyển 954 đến 926. Bạn có thể thấy rằng kết quả giống như hai ví dụ trướcLoại bỏ các quảng cáoHiểu về Python >>> index = 0 >>> for value in values: .. print(index, value) ... 0 a 0 b 0 c 4Trong vài phần trước, bạn đã thấy các ví dụ về thời điểm và cách sử dụng 4 để tạo lợi thế cho bạn. Bây giờ bạn đã nắm được các khía cạnh thực tế của 4, bạn có thể tìm hiểu thêm về cách thức hoạt động của hàm này bên trongĐể hiểu rõ hơn về cách hoạt động của 4, bạn có thể triển khai phiên bản của riêng mình bằng Python. Phiên bản 4 của bạn có hai yêu cầu. nó nên
Một cách để viết một hàm đáp ứng các thông số kỹ thuật này được đưa ra trong tài liệu Python >>> 96 963 lấy hai đối số, 964 và 43. Giá trị mặc định của 43 là 07. Bên trong định nghĩa hàm, bạn khởi tạo 968 thành giá trị của 43 và chạy vòng lặp 3 trên 964Đối với mỗi 972 trong 964, bạn điều khiển 974 trở lại vị trí cuộc gọi và gửi lại các giá trị hiện tại của 968 và 972. Cuối cùng, bạn tăng 968 để sẵn sàng cho lần lặp lại tiếp theo. Bạn có thể thấy 963 đang hoạt động tại đây>>> 97Đầu tiên, bạn tạo một danh sách bốn mùa để làm việc với. Tiếp theo, bạn chỉ ra rằng việc gọi 963 với 980 là 964 sẽ tạo một đối tượng trình tạo. Điều này là do bạn sử dụng từ khóa 974 để gửi lại giá trị cho người gọiCuối cùng, bạn tạo hai danh sách từ 963, một trong đó giá trị bắt đầu được để mặc định là 07 và một trong đó 43 được thay đổi thành 47. Trong cả hai trường hợp, bạn kết thúc với một danh sách các bộ trong đó phần tử đầu tiên của mỗi bộ là số đếm và phần tử thứ hai là giá trị từ 980Mặc dù bạn có thể triển khai một hàm tương đương cho 4 chỉ trong một vài dòng mã Python, nhưng mã thực tế cho 4 được viết bằng C. Điều này có nghĩa là nó siêu nhanh và hiệu quảGiải nén các đối số với >>> index = 0 >>> for value in values: .. print(index, value) ... 0 a 0 b 0 c 4Khi bạn sử dụng 4 trong vòng lặp 3, bạn yêu cầu Python sử dụng hai biến, một cho số đếm và một cho chính giá trị đó. Bạn có thể làm điều này bằng cách sử dụng một khái niệm Python có tên là giải nén đối sốGiải nén đối số là ý tưởng rằng một bộ dữ liệu có thể được chia thành nhiều biến tùy thuộc vào độ dài của chuỗi. Chẳng hạn, bạn có thể giải nén một bộ gồm hai phần tử thành hai biến >>> 98Đầu tiên, bạn tạo một bộ có hai phần tử, 942 và 03. Sau đó, bạn giải nén bộ dữ liệu đó thành 995 và 996, mỗi bộ được gán một trong các giá trị từ bộ dữ liệuKhi bạn gọi 4 và chuyển một chuỗi giá trị, Python sẽ trả về một trình vòng lặp. Khi bạn hỏi iterator về giá trị tiếp theo của nó, nó sẽ trả về một bộ có hai phần tử. Phần tử đầu tiên của bộ dữ liệu là số đếm và phần tử thứ hai là giá trị từ chuỗi mà bạn đã chuyển>>> 99Trong ví dụ này, bạn tạo một danh sách có tên là 02 với hai phần tử, 03 và 04. Sau đó, bạn chuyển 02 đến 4 và gán giá trị trả về cho 03. Khi bạn in 03, bạn có thể thấy rằng đó là một phiên bản của 4 với một địa chỉ bộ nhớ cụ thểSau đó, bạn sử dụng 06 tích hợp sẵn của Python để nhận giá trị tiếp theo từ 03. Giá trị đầu tiên mà 03 trả về là một bộ có số đếm là 07 và phần tử đầu tiên từ 02, là 03Gọi lại 06 trên 03 tạo ra một bộ dữ liệu khác, lần này với số đếm 47 và phần tử thứ hai từ 02, 04. Cuối cùng, gọi 06 một lần nữa sẽ tăng 18 vì không còn giá trị nào được trả về từ 03Khi một iterable được sử dụng trong vòng lặp 3, Python sẽ tự động gọi 06 khi bắt đầu mỗi lần lặp cho đến khi 18 được nâng lên. Python gán giá trị mà nó lấy được từ biến lặp cho biến vòng lặpNếu một lần lặp trả về một bộ, thì bạn có thể sử dụng tính năng giải nén đối số để gán các phần tử của bộ cho nhiều biến. Đây là những gì bạn đã làm trước đó trong hướng dẫn này bằng cách sử dụng hai biến vòng lặp Một lần khác, bạn có thể đã thấy việc giải nén đối số bằng vòng lặp 3 là với 24 tích hợp sẵn, cho phép bạn lặp qua hai hoặc nhiều trình tự cùng một lúc. Trên mỗi lần lặp lại, 24 trả về một bộ thu thập các phần tử từ tất cả các chuỗi đã được truyền>>> 0Bằng cách sử dụng 24, bạn có thể lặp qua 27, 28 và 29 cùng một lúc. Trong vòng lặp 3, bạn gán phần tử từ 27 đến 32, từ 28 đến 34 và từ 29 đến 36. Sau đó, bạn in ba giá trịBạn có thể kết hợp 24 và 4 bằng cách sử dụng tính năng giải nén đối số lồng nhau>>> 1Trong vòng lặp 3 trong ví dụ này, bạn lồng 24 vào bên trong 4. Điều này có nghĩa là mỗi lần vòng lặp 3 lặp lại, 4 tạo ra một bộ dữ liệu với giá trị đầu tiên là số đếm và giá trị thứ hai là một bộ dữ liệu khác chứa các phần tử từ các đối số đến 24. Để giải nén cấu trúc lồng nhau, bạn cần thêm dấu ngoặc đơn để nắm bắt các phần tử từ bộ phần tử lồng nhau từ 24Có nhiều cách khác để mô phỏng hành vi của 4 kết hợp với 24. Một phương thức sử dụng 48, trả về các số nguyên liên tiếp theo mặc định, bắt đầu từ 0. Bạn có thể thay đổi ví dụ trước để sử dụng 48>>> 2Sử dụng 48 trong ví dụ này cho phép bạn sử dụng một lệnh gọi 24 duy nhất để tạo số đếm cũng như các biến vòng lặp mà không cần giải nén đối số lồng nhauLoại bỏ các quảng cáoPhần kết luận________ 04 của Python cho phép bạn viết các vòng lặp Pythonic ________ 03 khi bạn cần đếm và giá trị từ một lần lặp. Ưu điểm lớn của 4 là nó trả về một bộ có bộ đếm và giá trị, vì vậy bạn không phải tự tăng bộ đếm. Nó cũng cung cấp cho bạn tùy chọn để thay đổi giá trị bắt đầu cho bộ đếmTrong hướng dẫn này, bạn đã học cách
Bạn cũng đã thấy 4 được sử dụng trong một số mã trong thế giới thực, kể cả trong kho lưu trữ mã CPython. Bây giờ bạn có siêu năng lực đơn giản hóa các vòng lặp của mình và làm cho mã Python của bạn trở nên phong cáchĐánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Vòng lặp với liệt kê Python() 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Bryan Weber Bryan là nhà phát triển cốt lõi của Cantera, nền tảng mã nguồn mở cho nhiệt động lực học, động học hóa học và vận chuyển. Là một nhà phát triển nói chung, Bryan thực hiện Python từ web đến khoa học dữ liệu và mọi nơi ở giữa » Thông tin thêm về BryanMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Geir Arne Jim Joanna Gia-cốp Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bậc thầy Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi Hai loại lặp trong Python là gì?Có hai kiểu lặp. . Lặp lại xác định, trong đó số lần lặp lại được chỉ định rõ ràng trước Lặp lại vô thời hạn, trong đó khối mã thực thi cho đến khi một số điều kiện được đáp ứng Làm cách nào để lặp lại đồng thời hai danh sách có độ dài khác nhau trong Python?izip_longest() nếu sử dụng Python 2) để tạo chuỗi các mục được ghép nối . Các cặp sẽ được đệm bằng Không có đối với danh sách có độ dài không khớp. Sau đó, bạn có thể đơn giản hóa mã trong phần nội dung của vòng lặp bằng cách làm phẳng chuỗi các mục được ghép nối và lọc ra các giá trị Không có và trong trường hợp của bạn là các giá trị 0.
Danh sách Python có thể được lặp lại không?Chúng ta có thể duyệt qua một danh sách bằng cách sử dụng hàm range() và chuyển độ dài của danh sách . Nó sẽ trả về chỉ mục từ 0 đến cuối danh sách. Đầu ra sẽ giống như trên.
Làm cách nào để sử dụng trình vòng lặp trong Python?Tạo Iterator
. Như bạn đã học trong chương Lớp/Đối tượng Python, tất cả các lớp đều có một hàm gọi là __init__() , cho phép bạn thực hiện một số thao tác khởi tạo khi đối tượng được tạo. To create an object/class as an iterator you have to implement the methods __iter__() and __next__() to your object. As you have learned in the Python Classes/Objects chapter, all classes have a function called __init__() , which allows you to do some initializing when the object is being created. |