Một trong những lợi ích chính của viết mã và lập trình là các nhiệm vụ có thể dễ dàng được tự động hóa và sao chép. Thực tiễn này thể hiện rõ trong chính cấu trúc của ngôn ngữ lập trình và cấu trúc dữ liệu. Thông thường, trung tâm của một chương trình xoay quanh việc lặp qua các giá trị hoặc đối tượng
Với Python, có vô số phương thức để lặp qua các danh sách và bộ dữ liệu. Một số phương pháp này có thể phức tạp. Nếu bạn chỉ đang tìm hiểu về phép lặp trong Python, bạn sẽ được phục vụ tốt nhất bằng cách tìm hiểu các phương pháp tương tác phổ biến hơn, dễ dàng hơn có thể áp dụng cho hầu hết mọi tình huống. Ở đây, tôi trình bày 5 phương pháp dễ dàng để lặp qua các danh sách và bộ dữ liệu Python
5 phương thức đơn giản nhất để lặp qua danh sách Python hoặc bộ dữ liệu là
- Một vòng lặp
7my_list = [5, 3, 90, 23, 12] my_tuple = [8, 20, 4, 34, 98]
- Hàm
8my_list = [5, 3, 90, 23, 12] my_tuple = [8, 20, 4, 34, 98]
- hiểu danh sách
- Một vòng lặp
9my_list = [5, 3, 90, 23, 12] my_tuple = [8, 20, 4, 34, 98]
- Hàm
0for x in my_list: print[x * 2]
Tôi sẽ trình bày cách triển khai từng phương pháp này và các tình huống mà mỗi phương pháp phù hợp nhất cho
1. Lặp qua Danh sách Python với Vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
Vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 là cách phổ biến nhất để lặp qua danh sách Python. Việc triển khai vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 trong Python rất đơn giản, đặc biệt là với danh sách một bộCú pháp cơ bản như sau
for item in object:
print[item]
Trong trường hợp danh sách Python,
for x in my_list:
print[x * 2]
4 là danh sách và for x in my_list:
print[x * 2]
5 đề cập đến một phần tử trong danh sáchHãy thử điều này với danh sách đơn giản được xác định bên dưới. Danh sách được xác định bao gồm một số số. Chúng ta sẽ viết mã để nhân mỗi số với 2, sau đó in ra
Đầu tiên, chúng tôi sẽ xác định một danh sách và một bộ dữ liệu mà chúng tôi sẽ sử dụng trong suốt các ví dụ này
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
Bây giờ, hãy lặp qua danh sách, nhân nó với hai và in kết quả
for x in my_list:
print[x * 2]
Đây là kết quả trông như thế nào
10
6
180
46
24
Ví dụ về vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 này hoạt động tương tự với một bộ Python cũng như với một danh sách Python. Đây là một phương pháp linh hoạt có thể áp dụng cho nhiều tình huống khác nhau. Vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 là cách phổ biến nhất để lặp qua một lần lặp trong Python2. Sử dụng my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
8 để lặp qua danh sách Python
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
Thay vì lặp trực tiếp qua danh sách hoặc bộ mục, chỉ mục mục có thể được sử dụng để tham chiếu các phần tử. Theo ngụ ý, chỉ mục chỉ định vị trí của từng mục trong danh sách hoặc đối tượng tuple. Trong Python, giá trị chỉ mục bắt đầu từ 0, vì vậy phần tử đầu tiên trong danh sách sẽ có giá trị chỉ mục là 0 và mục cuối cùng sẽ có chỉ mục bằng độ dài danh sách trừ đi 1
Một phần tử danh sách được truy xuất bằng cách sử dụng giá trị chỉ mục của nó như sau. Hai ví dụ cho thấy cách truy cập phần tử thứ nhất và thứ hai của
for x in my_list:
print[x * 2]
9 mà chúng tôi đã tạo ở trênmy_list[0] # first element
my_list[1] # second element
Hàm
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
8 của Python tạo danh sách tuần tự các số theo một mẫu cụ thể. Trong ví dụ đầu tiên, chúng tôi đã sử dụng vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 để lặp qua các phần tử riêng lẻ của danh sách. Ở đây, chúng ta sẽ sử dụng vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 để lặp qua các số được tạo bởi hàm my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
8 và sử dụng các giá trị đó để lặp qua danh sáchĐiều này nghe có vẻ hơi phức tạp nhưng đó là một khái niệm dễ dàng khi bạn hiểu rõ về nó. Nó cũng rất hữu ích khi bạn có nhiều danh sách và bạn muốn sử dụng các phần tử tương ứng để tính toán
Đầu tiên, chúng ta sẽ xem qua một ví dụ đơn giản bằng cách sử dụng danh sách mà chúng ta đã tạo ở trên, sau đó chúng ta sẽ thực hiện một ví dụ với hai danh sách
Ở đây, chúng tôi sử dụng hàm
10
6
180
46
24
4 để lấy độ dài của danh sách và tạo phạm vi thích hợp cho các chỉ sốfor i in range[len[my_list]]:
print['index:', i, 'value:', my_list[i]]
Và đây là kết quả trông như thế nào
index: 0 value: 5
index: 1 value: 3
index: 2 value: 90
index: 3 value: 23
index: 4 value: 12
Lợi ích của việc sử dụng
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
8 là giá trị chỉ mục [10
6
180
46
24
6 trong ví dụ trên] có thể được sử dụng để lập chỉ mục cho nhiều danh sách hoặc bộ dữ liệu. Dưới đây, chúng ta sẽ sử dụng chỉ số, 10
6
180
46
24
6, để lấy các giá trị từ cả for x in my_list:
print[x * 2]
9 và 10
6
180
46
24
9 rồi nhân chúng lênfor i in range[len[my_list]]:
print['list value:', my_list[i], 'tuple value:',
my_tuple[i], 'multiplication', my_list[i] * my_tuple[i]]
Và kết quả
list value: 5 tuple value: 8 multiplication 40
list value: 3 tuple value: 20 multiplication 60
list value: 90 tuple value: 4 multiplication 360
list value: 23 tuple value: 34 multiplication 782
list value: 12 tuple value: 98 multiplication 1176
3. Sử dụng khả năng hiểu danh sách để lặp qua danh sách Python
Hiểu danh sách Python là một cách đơn giản, ngắn gọn để lặp qua các danh sách [hoặc bộ dữ liệu] để truy cập hoặc thay đổi giá trị. Kết quả của việc hiểu danh sách là một danh sách khác [hoặc danh sách có thể lặp lại khác, chẳng hạn như bộ dữ liệu], do đó bạn không cần phải viết một vòng lặp đầy đủ và nối kết quả vào một bộ lặp khác
Hãy bắt đầu bằng cách truy cập từng mục trong
for x in my_list:
print[x * 2]
9. Đoạn mã sau tạo một bản sao của for x in my_list:
print[x * 2]
9[item for item in my_list]
đầu ra
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
0Lưu ý cách kết quả của hoạt động này là một danh sách. Danh sách này giống hệt với đầu vào,
for x in my_list:
print[x * 2]
9Bây giờ hãy thử một ví dụ thực tế hơn. Trong trường hợp này, chúng tôi sẽ chia mỗi phần tử trong danh sách cho 2. Các chức năng và hoạt động khác có thể được áp dụng bằng phương pháp tương tự
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
1đầu ra
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
2Lưu ý cách hiểu danh sách ngắn gọn. Bạn có thể viết một dòng mã dẫn đến danh sách mà không cần tạo hoặc quản lý danh sách
4. Lặp qua Danh sách Python với Vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
Một vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9 tiếp tục thực thi một khối mã trong khi một điều kiện là đúng. Python my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9 vòng lặp có thể được sử dụng để lặp qua các danh sách và bộ dữ liệu khi điều kiện được gắn với chỉ mục của lần lặpQuy trình lặp qua danh sách Python với vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9 là thế này- Khởi tạo một biến có giá trị 0 để lập chỉ mục danh sách, bộ dữ liệu hoặc có thể lặp lại khác [e. g.
7]my_list[0] # first element my_list[1] # second element
- Bắt đầu vòng lặp
9 với điều kiện chỉ số phải nhỏ hơn độ dài của iterable [e. g.my_list = [5, 3, 90, 23, 12] my_tuple = [8, 20, 4, 34, 98]
9]my_list[0] # first element my_list[1] # second element
- Chạy mã được áp dụng cho từng thành phần của iterable [e. g.
0]for i in range[len[my_list]]: print['index:', i, 'value:', my_list[i]]
- Cập nhật biến chỉ số [e. g.
1]for i in range[len[my_list]]: print['index:', i, 'value:', my_list[i]]
Đừng quên Bước 4. Nếu bạn làm điều đó sẽ dẫn đến một vòng lặp vô hạn. Điều đó có nghĩa là điều kiện cho câu lệnh while sẽ luôn đúng nên vòng lặp sẽ tiếp tục thực thi mã cho cùng một chỉ mục và sẽ không bao giờ ngừng chạy. Nếu điều này xảy ra với bạn và nó sẽ xảy ra [nó đã xảy ra với tôi và có lẽ với mọi lập trình viên khác], chỉ cần đóng chương trình
Ví dụ dưới đây sử dụng vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9 để in ra các giá trị cho danh sách và bộ dữ liệu mà chúng tôi đã xác định ở đầu bài viết nàymy_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
3đầu ra
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
4Cũng giống như vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7, vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9 là một tùy chọn rất linh hoạt để lặp lại trong Python5. Sử dụng for x in my_list:
print[x * 2]
0 để lặp qua danh sách Python
for x in my_list:
print[x * 2]
Với phương thức
for x in my_list:
print[x * 2]
0 của Python, bạn có thể lặp qua một danh sách hoặc bộ dữ liệu trong khi truy cập cả chỉ mục và giá trị của đối tượng có thể lặp lại [danh sách hoặc bộ dữ liệu]. Sử dụng kiểu liệt kê tương tự như kết hợp vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 cơ bản và vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 lặp theo chỉ mụcMột cuộc gọi đến ____3_______0 trả về một đối tượng liệt kê có thể lặp lại và có thể được sử dụng trong một vòng lặp. Đối tượng liệt kê chứa chỉ mục và giá trị cho từng phần tử trong iterable
Điều này sẽ có ý nghĩa hơn trong ví dụ bên dưới khi chúng tôi sử dụng
for x in my_list:
print[x * 2]
0 để lặp qua for x in my_list:
print[x * 2]
9my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
5đầu ra
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
6Phương thức
for x in my_list:
print[x * 2]
0 rất hữu ích khi bạn muốn sử dụng cả chỉ mục và giá trị của một đối tượng có thể lặp lạiPhần kết luận
Có rất nhiều cách để lặp qua các danh sách và bộ dữ liệu và với Python. Tuy nhiên, nhiều tùy chọn trong số đó được dành riêng cho các tình huống cụ thể. Ở đây, tôi đã trình bày năm phương pháp để lặp qua các danh sách và bộ dữ liệu Python sẽ hoạt động trong hầu hết các tình huống mã hóa mà bạn sẽ gặp phải
Sử dụng vòng lặp
my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 và vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9 sẽ giúp bạn linh hoạt nhất khi lặp qua danh sách và bộ dữ liệu. Sự đánh đổi là bạn sẽ cần viết thêm một chút mã để triển khai chúng. Trong Python, hiểu danh sách là cách đơn giản và ngắn gọn nhất để lặp qua một danh sách hoặc bộ dữ liệu. Mặc dù khả năng hiểu danh sách hoạt động trong nhiều tình huống nhưng nó không linh hoạt như các vòng lặp my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
7 hoặc my_list = [5, 3, 90, 23, 12]
my_tuple = [8, 20, 4, 34, 98]
9TÌM HIỂU GIS TỪ CÁC CHUYÊN GIA TRONG CÔNG NGHIỆP
Cho dù bạn đang muốn nâng cao kỹ năng GIS của mình hay chỉ mới bắt đầu với GIS, chúng tôi đều có khóa học dành cho bạn. Chúng tôi liên tục tạo và quản lý nhiều khóa học hơn để giúp bạn cải thiện kỹ năng không gian địa lý của mình
QGIS cho người mới bắt đầu
Viễn thám với QGIS
QGIS Python Scripting với PyQGIS
Nhấn vào đây để xem tất cả các khóa học của chúng tôi
Tất cả các khóa học của chúng tôi đều do các chuyên gia trong ngành giảng dạy và bao gồm video hướng dẫn từng bước để bạn không bị lạc trong các video và bài đăng trên blog trên YouTube, dữ liệu có thể tải xuống để bạn có thể sao chép mọi thứ mà người hướng dẫn làm và mã bạn có thể sao chép để bạn