Làm cách nào để tạo vòng lặp bảng trong python?
Trong mô-đun bên dưới, chúng ta sẽ đi sâu vào mã nguồn để tạo bảng cửu chương trong python. Chúng tôi có thể sửa đổi mã nguồn và triển khai bảng cửu chương cho bất kỳ số nào. Chúng ta sẽ thảo luận về nhiều phương pháp để làm điều tương tự bằng cách sử dụng python Show
Các ví dụ chúng ta sẽ mong đợi là Sử dụng vòng lặp ForHãy cho chúng tôi hiểu bằng ví dụ dưới đây về cách chúng tôi có thể tạo bảng cửu chương trong python bằng cách sử dụng chúng cho một vòng lặp Mã số
Sử dụng vòng lặp WhileHãy để chúng tôi hiểu bằng ví dụ dưới đây về cách chúng tôi có thể tạo bảng cửu chương trong python bằng cách sử dụng vòng lặp while Mã số
Đây sẽ là trường hợp bất kể chúng ta gọi biến đó là gì. Vì vậy, ví dụ: nếu chúng tôi viết lại mã của mình để thay thế 2 bằng 7, chúng tôi sẽ nhận được kết quả chính xác như vậy
Lưu ý rằng kỹ thuật này hoạt động với mọi đối tượng có thể lặp lại. Ví dụ: các chuỗi có thể lặp lại và chúng ta có thể sử dụng cùng một loại vòng lặp for để lặp qua từng ký tự trong một chuỗi
Sử dụng Vòng lặp For với Danh sách Danh sáchTuy nhiên, trong công việc phân tích dữ liệu thực tế, không chắc là chúng ta sẽ làm việc với các danh sách ngắn, đơn giản như danh sách ở trên. Nói chung, chúng ta sẽ phải làm việc với tập dữ liệu ở định dạng bảng, có nhiều hàng và cột. Loại dữ liệu này có thể được lưu trữ trong Python dưới dạng danh sách các danh sách, trong đó mỗi hàng của bảng được lưu trữ dưới dạng một danh sách trong danh sách các danh sách và chúng ta cũng có thể sử dụng các vòng lặp for để lặp qua các danh sách này Để tìm hiểu cách thực hiện điều này, chúng ta hãy xem xét một tình huống thực tế hơn và khám phá bảng dữ liệu nhỏ này có chứa một số giá tại Hoa Kỳ và ước tính phạm vi EPA của Hoa Kỳ cho một số ô tô điện xephạm vigiá cảTesla Model 3 LR31049900Hyundai Ioniq EV12430315Chevy Bolt23836620 Chúng ta có thể biểu thị cùng tập dữ liệu này dưới dạng danh sách các danh sách, như vậy
Bạn có thể nhận thấy rằng trong danh sách trên, số phạm vi và giá của chúng tôi thực sự được lưu trữ dưới dạng chuỗi chứ không phải số nguyên. Không có gì lạ khi bạn sẽ nhận được dữ liệu được lưu trữ theo cách này, nhưng để phân tích, chúng tôi muốn chuyển đổi các chuỗi đó thành số nguyên để chúng tôi có thể thực hiện một số phép tính với chúng. Hãy sử dụng vòng lặp for để duyệt qua danh sách các danh sách của chúng ta, chọn mục nhập 8 trong mỗi danh sách và thay đổi nó từ một chuỗi thành một số nguyênĐể làm được điều đó, chúng ta cần làm một số việc. Đầu tiên, chúng ta cần bỏ qua hàng đầu tiên trong bảng của mình, vì đó là tên cột và chúng ta sẽ gặp lỗi nếu cố gắng chuyển đổi một chuỗi không phải là số như 9 thành một số nguyên. Chúng tôi có thể làm điều này bằng cách sử dụng danh sách cắt để chọn từng hàng sau hàng đầu tiên bằng cách sử dụng 0. (Nếu bạn cần cải thiện vấn đề này hoặc bất kỳ khía cạnh nào khác của danh sách, hãy xem khóa học tương tác của chúng tôi về các nguyên tắc cơ bản trong lập trình Python)Sau đó, chúng tôi sẽ lặp qua danh sách các danh sách và với mỗi lần lặp, chúng tôi sẽ chọn phần tử trong cột 1, đây là cột thứ hai trong bảng của chúng tôi. Chúng tôi sẽ gán giá trị được tìm thấy trong cột này cho một biến có tên là 9. Để làm điều này, chúng tôi sẽ sử dụng số chỉ mục 3 (trong Python, mục nhập đầu tiên trong một lần lặp nằm ở chỉ mục 4, mục nhập thứ hai nằm ở chỉ mục 3, v.v. )Cuối cùng, chúng tôi sẽ chuyển đổi các số phạm vi thành số nguyên bằng cách sử dụng hàm 6 tích hợp sẵn của Python và thay thế các chuỗi ban đầu bằng các số nguyên này trong tập dữ liệu của chúng tôi
Bây giờ chúng ta đã lưu các giá trị đó dưới dạng số nguyên, chúng ta cũng có thể sử dụng vòng lặp for để thực hiện một số phép tính. Ví dụ: giả sử chúng tôi muốn tìm ra phạm vi trung bình của EV trong danh sách này. Chúng tôi cần cộng các số phạm vi lại với nhau, sau đó chia chúng cho tổng số ô tô trong danh sách của chúng tôi Một lần nữa, chúng ta có thể sử dụng vòng lặp for để chọn cột cụ thể mà chúng ta cần trong tập dữ liệu của mình. Chúng tôi sẽ bắt đầu bằng cách tạo một biến có tên là 7 nơi chúng tôi có thể lưu trữ tổng của các phạm vi. Sau đó, chúng tôi sẽ viết một vòng lặp for khác, bỏ qua hàng tiêu đề một lần nữa và xác định lại cột thứ hai (chỉ mục 1) làm giá trị phạm viSau đó, tất cả những gì chúng ta cần làm là thêm giá trị này vào 7 trong vòng lặp for của mình, sau đó tính giá trị bằng cách sử dụng 7 chia cho số lượng ô tô sau khi vòng lặp kết thúc(Lưu ý rằng chúng tôi sẽ tính toán số lượng ô tô bằng cách đếm độ dài của danh sách của chúng tôi, trừ đi hàng tiêu đề, trong mã bên dưới. Với một danh sách ngắn như danh sách của chúng tôi, chúng tôi cũng có thể chỉ cần chia cho 3, vì số lượng ô tô rất dễ đếm, nhưng điều đó sẽ phá vỡ phép tính của chúng tôi nếu thêm dữ liệu ô tô bổ sung vào danh sách. Vì lý do đó, tốt hơn là sử dụng 0 để tính toán độ dài của danh sách ô tô của chúng tôi trong mã để nếu các mục nhập bổ sung được thêm vào tập dữ liệu của chúng tôi trong tương lai, chúng tôi có thể chạy lại mã này và nó vẫn tạo ra câu trả lời đúng. )
0Các vòng lặp for của Python rất mạnh và bạn có thể lồng các lệnh phức tạp hơn vào bên trong chúng. Để chứng minh điều này, hãy lặp lại hai bước trên cho cột 1 của chúng ta, lần này trong một vòng lặp For 1_______5_______2Chúng ta cũng có thể lồng các phần tử khác, như câu lệnh If Else và thậm chí các vòng lặp for khác, bên trong vòng lặp for Ví dụ: hãy tưởng tượng chúng tôi muốn tìm mọi chiếc xe có phạm vi hoạt động lớn hơn 200 dặm trong danh sách của mình. Chúng tôi có thể bắt đầu bằng cách tạo một danh sách trống mới để chứa dữ liệu ô tô tầm xa của mình. Sau đó, chúng tôi sẽ sử dụng một vòng lặp for để lặp qua 2, danh sách các danh sách chứa dữ liệu ô tô mà chúng tôi đã tạo trước đó, chỉ nối thêm một hàng ô tô vào danh sách tầm xa của chúng tôi nếu giá trị phạm vi của nó lớn hơn 200 3_______5_______4Tất nhiên, các thao tác này cũng sẽ đơn giản để thực hiện bằng tay với một tập dữ liệu nhỏ như vậy. Nhưng những kỹ thuật tương tự này sẽ hoạt động trên các tập dữ liệu có hàng nghìn hàng nghìn hàng, có thể giúp việc dọn dẹp, sắp xếp và phân tích các tập dữ liệu khổng lồ thành công việc rất nhanh chóng Các kỹ thuật hữu ích khác. Phạm vi, ngắt và tiếp tụcBạn có thể đạt được số dặm đáng ngạc nhiên từ các vòng lặp chỉ bằng cách nắm vững các kỹ thuật được mô tả ở trên, nhưng hãy tìm hiểu sâu hơn nữa và tìm hiểu một số điều khác có thể hữu ích, ngay cả khi bạn sử dụng chúng ít thường xuyên hơn trong ngữ cảnh dữ liệu Phạm viCác vòng lặp for có thể được sử dụng song song với hàm 3 của Python để lặp qua từng số trong một phạm vi được chỉ định. Ví dụ 5_______5_______6Lưu ý rằng Python không bao gồm giá trị tối đa của một phạm vi trong số phạm vi, đó là lý do tại sao số 9 không xuất hiện ở trên. Nếu chúng tôi muốn mã này đếm từ 5 đến 9 bao gồm cả 9, chúng tôi cần thay đổi 4 thành 5 7 8Nếu bạn chỉ chỉ định một số duy nhất trong hàm 3 của mình, Python sẽ coi đó là giá trị lớn nhất và gán giá trị nhỏ nhất mặc định là 0 9 0Bạn thậm chí có thể thêm đối số thứ ba vào hàm 3 để chỉ định rằng bạn muốn đếm theo gia số của một số cụ thể. Như bạn có thể thấy ở trên, giá trị mặc định là 1, nhưng nếu bạn thêm đối số thứ ba là 3, chẳng hạn, bạn có thể sử dụng 3 với vòng lặp for để đếm thành ba phần 1 2NghỉTheo mặc định, một vòng lặp Python for sẽ lặp qua mỗi lần lặp có thể có của đối tượng có thể lặp lại mà bạn đã gán cho nó. Thông thường, khi chúng ta sử dụng vòng lặp for, điều đó không sao cả, bởi vì chúng ta muốn thực hiện cùng một hành động trên từng mục trong danh sách của mình (ví dụ) Tuy nhiên, đôi khi, chúng tôi có thể muốn dừng vòng lặp của bạn nếu một điều kiện nhất định được đáp ứng. Trong trường hợp đó, câu lệnh 9 rất hữu ích. Khi được sử dụng với câu lệnh if bên trong vòng lặp for, 9 cho phép chúng ta thoát ra khỏi vòng lặp đó trước khi nó kết thúcTrước tiên, hãy xem một ví dụ nhanh, sử dụng danh sách các tên mà chúng tôi đã tạo trước đó có tên là 1) 3Khi chúng tôi chạy mã này, không có gì được in. Đó là bởi vì câu lệnh 9 xuất hiện trước 3 trong vòng lặp for của chúng ta. Khi Python nhìn thấy 9, nó sẽ dừng thực thi vòng lặp for và mã xuất hiện sau 9 trong vòng lặp không được chạyHãy thêm một câu lệnh if vào vòng lặp này, để chúng ta thoát khỏi vòng lặp khi Python có tên Zining 4 5Ở đây, chúng ta có thể thấy cái tên Zining không được in ra. Đây là những gì đang xảy ra với mỗi lần lặp lại vòng lặp
Hãy quay lại mã mà chúng tôi đã viết để thu thập dữ liệu xe EV tầm xa và làm việc với một ví dụ khác. Chúng ta sẽ chèn một câu lệnh break để dừng giao diện ngay khi nó gặp chuỗi 7 6_______12_______7Trong đoạn mã trên, chúng ta có thể thấy rằng Tesla vẫn được thêm vào 8, bởi vì chúng ta đã thêm nó vào danh sách đó trước câu lệnh if mà chúng ta đã sử dụng 9. Chevy Bolt đã không được thêm vào danh sách của chúng tôi, bởi vì mặc dù nó có phạm vi hoạt động hơn 200 dặm, nhưng 9 đã kết thúc vòng lặp trước khi Python đến được hàng của Chevy Bolt(Hãy nhớ rằng, các vòng lặp for thực hiện theo thứ tự tuần tự. Nếu Bolt được liệt kê trước Tesla trong bộ dữ liệu ban đầu của chúng tôi, nó sẽ được đưa vào 8)Tiếp tụcKhi chúng tôi đang lặp qua một đối tượng có thể lặp lại như danh sách, chúng tôi cũng có thể gặp phải các tình huống mà chúng tôi muốn bỏ qua một hoặc nhiều hàng cụ thể. Đối với các tình huống đơn giản như bỏ qua một hàng tiêu đề, chúng ta có thể sử dụng cắt danh sách, nhưng nếu chúng ta muốn bỏ qua các hàng dựa trên các điều kiện phức tạp hơn, điều này nhanh chóng trở nên không thực tế. Thay vào đó, chúng ta có thể sử dụng câu lệnh 2 để bỏ qua một lần lặp (“vòng lặp”) của vòng lặp for và chuyển sang vòng lặp tiếp theoVí dụ: khi Python nhìn thấy 2 trong khi thực hiện vòng lặp for trên một danh sách, nó sẽ dừng tại điểm đó và chuyển sang mục tiếp theo trong danh sách. Bất kỳ mã nào nằm dưới 2 sẽ không được thực thiHãy quay lại danh sách tên của chúng ta ( 5) và sử dụng 2 với câu lệnh if để kết thúc vòng lặp trước khi in nếu tên là 'Brad' 8 9Ở trên, chúng ta có thể thấy rằng tên của Brad đã bị bỏ qua và những cái tên còn lại trong danh sách của chúng ta được in theo thứ tự. Điều đó minh họa sự khác biệt giữa 9 và 2 một cách ngắn gọn
Để thực hành thêm với 2, hãy lập danh sách các EV tầm ngắn, sử dụng 2 để thực hiện một cách tiếp cận hơi khác. Thay vì xác định các EV có phạm vi hoạt động dưới 200 dặm, chúng ta sẽ viết một vòng lặp for để thêm mọi EV vào danh sách phạm vi hoạt động ngắn của chúng ta, nhưng với câu lệnh 2 trước khi chúng ta thêm vào danh sách mới sẽ chạy nếu phạm vi hoạt động lớn hơn 0 1Đó có lẽ không phải là cách hiệu quả và dễ đọc nhất để tạo danh sách ô tô tầm ngắn của chúng tôi, nhưng nó chứng minh cách thức hoạt động của 2, vì vậy, hãy xem chính xác điều gì đang xảy ra ở đâyTrong vòng lặp đầu tiên, Python đang xem hàng Tesla. Chiếc xe đó thực sự có phạm vi EV hơn 200 dặm, vì vậy Python thấy câu lệnh if là đúng và thực thi 2 được lồng bên trong câu lệnh if đó, khiến nó ngay lập tức chuyển sang hàng tiếp theo của 2 để bắt đầu vòng lặp tiếp theo của nóỞ vòng lặp thứ hai, Python đang nhìn vào hàng tiếp theo, đó là hàng của Hyundai. Chiếc xe đó có phạm vi hoạt động dưới 200 dặm, vì vậy Python thấy rằng câu lệnh if có điều kiện không được đáp ứng và thực thi phần còn lại của mã trong vòng lặp for, nối thêm hàng Hyundai vào 9Ở vòng lặp thứ ba và vòng lặp cuối cùng, Python đang xem xét hàng Chevy. Chiếc xe đó đã đi được hơn 200 dặm, điều đó có nghĩa là câu điều kiện if là đúng. Do đó, Python một lần nữa thực thi 2 lồng nhau, kết thúc vòng lặp và vì không còn hàng dữ liệu nào trong tập dữ liệu của chúng ta, kết thúc hoàn toàn vòng lặp forTài nguyên bổ sungHy vọng rằng tại thời điểm này, bạn cảm thấy thoải mái với các vòng lặp for trong Python và bạn có ý tưởng về cách chúng có thể hữu ích cho các tác vụ khoa học dữ liệu phổ biến như làm sạch dữ liệu, chuẩn bị dữ liệu và phân tích dữ liệu Sẵn sàng cho bước tiếp theo chưa?
Chúc may mắn và quay vòng vui vẻ Hướng dẫn này có hữu ích không?Chọn con đường của bạn để tiếp tục học các kỹ năng dữ liệu có giá trị Hướng dẫn Python Thực hành các kỹ năng lập trình Python của bạn khi bạn làm việc với các hướng dẫn miễn phí của chúng tôi Các khóa học khoa học dữ liệu Cam kết học tập với các khóa học khoa học dữ liệu tương tác, trong trình duyệt của bạn bằng Python, R, SQL, v.v. người mới bắt đầu phá vỡ tiếp tục ô tô điệnev datafor loopfor loop hướng dẫn python Hướng dẫn Giới thiệu về tác giả Charlie CusterCharlie là sinh viên ngành khoa học dữ liệu và cũng là nhà tiếp thị nội dung tại Dataquest. Trong thời gian rảnh rỗi, anh ấy học đi xe đạp leo núi và làm video về nó Làm cách nào để tạo bảng cửu chương bằng vòng lặp for trong Python?Tạo bảng cửu chương . bắt đầu chương trình Nhận đầu vào số nguyên từ người dùng Tiếp theo, chúng ta sẽ xác định một phạm vi hoặc một điều kiện. Phạm vi sẽ được sử dụng trong vòng lặp for và điều kiện sẽ được sử dụng trong vòng lặp while Cuối cùng, mã sẽ kiểm tra mặt hàng hoặc tình trạng của chúng tôi Làm cách nào để lưu trữ dữ liệu trong vòng lặp Python?Giải pháp được cung cấp thực hiện như sau. . tạo một danh sách trống gọi là my_list mở vòng lặp for với biến được khai báo "xin chào" trong dấu ngoặc kép sử dụng từ khóa char làm biến vòng lặp. . sử dụng thuộc tính append được tích hợp trong tất cả danh sách Python để thêm char vào cuối danh sách khi vòng lặp kết thúc, danh sách cuối cùng được in |