Hot deal hosting vps vietnix tháng 2Hot deal hosting vps vietnix tháng 2
PHP
Python

Trang chủ

Các cách duyệt phần tử của list trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
13/02/2025
13 phút đọc
Theo dõi Vietnix trên

Các cách duyệt phần tử của list trong Python

Trong Python, việc thao tác với các phần tử trong danh sách, hay còn gọi là duyệt phần tử, là một kỹ năng cơ bản mà bất kỳ lập trình viên Python nào cũng cần nắm vững. Có nhiều phương pháp khác nhau để thực hiện việc này, từ các vòng lặp quen thuộc đến những kỹ thuật nâng cao hơn. Để tìm hiểu chi tiết về các cách duyệt phần tử của list trong Python, mời bạn theo dõi bài viết dưới đây.

Các điểm chính

Khi đọc xong bài viết, bạn sẽ:

  • Nắm vững kiến thức cơ bản về list (danh sách) trong Python: Bạn sẽ hiểu rõ list là gì, tại sao nó quan trọng và cách nó hoạt động trong Python. Điều này là nền tảng quan trọng để bạn làm việc hiệu quả với dữ liệu.
  • Làm chủ các phương pháp duyệt list khác nhau: Bạn sẽ không chỉ biết về vòng lặp for và while, mà còn làm quen với những kỹ thuật duyệt list mạnh mẽ hơn như dùng index, list comprehension và hàm enumerate(). Điều này giúp bạn lựa chọn phương pháp phù hợp nhất cho từng tình huống cụ thể.
  • Viết code Python ngắn gọn và hiệu quả: Bạn sẽ được hướng dẫn cách sử dụng các kỹ thuật duyệt list một cách tối ưu, giúp code của bạn dễ đọc, dễ bảo trì và chạy nhanh hơn. List comprehension là một ví dụ điển hình cho việc này.
  • Nâng cao tư duy lập trình và khả năng giải quyết vấn đề: Việc hiểu và áp dụng các phương pháp duyệt list khác nhau sẽ giúp bạn phát triển tư duy logic, sáng tạo và khả năng giải quyết các bài toán liên quan đến xử lý dữ liệu trong Python.

Duyệt phần tử của list trong Python

Duyệt phần tử của list trong Python là thực hiện lặp qua từng phần tử có trong một list. Chúng ta thực hiện việc này để tiến hành các thao tác mong muốn trên mỗi phần tử. Các thao tác này có thể bao gồm sửa đổi list, các thao tác có điều kiện, xử lý chuỗi, phân tích dữ liệu,…

Duyệt phần tử của list trong Python là thao tác  lặp qua từng phần tử có trong một list
Duyệt phần tử của list trong Python là thao tác lặp qua từng phần tử có trong một list

Python cung cấp nhiều phương pháp khác nhau để duyệt phần tử của list, trong đó phổ biến nhất là vòng lặp for. Chúng ta cũng có thể sử dụng vòng lặp while để duyệt qua các phần tử, mặc dù while đòi hỏi phải xử lý thủ công biến điều khiển vòng lặp (chẳng hạn, chỉ số của phần tử).

Duyệt phần tử của list với vòng lặp for

Vòng lặp for trong Python được sử dụng để duyệt qua một chuỗi (như list, tuple, dictionary, string, hoặc range) hoặc bất kỳ đối tượng “iterable” nào khác. Vòng lặp for cho phép bạn thực thi một khối code lặp đi lặp lại cho mỗi phần tử trong chuỗi đó.

Trong vòng lặp for, bạn có thể truy cập từng phần tử trong chuỗi bằng cách sử dụng một biến, cho phép bạn thực hiện các thao tác hoặc xử lý logic dựa trên giá trị của phần tử đó. Chúng ta có thể duyệt qua các phần tử của list bằng cách sử dụng vòng lặp for để duyệt qua từng phần tử trong list.

Cú pháp

Đây là cú pháp cơ bản để duyệt các phần tử của list sử dụng vòng lặp for trong Python:

for phần_tử in danh_sách:
    # Khối code được thực thi

Giải thích cú pháp:

  • for: Từ khóa bắt đầu vòng lặp for.
  • phần_tử: Tên biến bạn tự đặt, biến này sẽ lần lượt nhận giá trị của từng phần tử trong danh_sách ở mỗi lần lặp.
  • in: Từ khóa, đi sau phần_tử và trước danh_sách.
  • danh_sách: Tên của list mà bạn muốn duyệt.
  • : (Dấu hai chấm): Bắt buộc sau tên list.
  • # Khối code được thực thi: Phần code được thụt lề (thường là 4 dấu cách hoặc 1 tab) bên trong vòng lặp for. Phần này sẽ được thực thi với từng phần_tử.

Ví dụ

Trong ví dụ sau, chúng ta sử dụng vòng lặp for để duyệt qua từng loại trái cây trong danh sách cac_loai_trai_cay và in ra tên của từng loại, kèm theo một dấu phẩy và khoảng trắng:

cac_loai_trai_cay = ["Cam", "Xoài", "Mít", "Dứa", "Mận"]
for trai_cay in cac_loai_trai_cay:
    print(trai_cay, end=", ")

Khi chạy code trên, màn hình sẽ hiển thị:

Cam, Xoài, Mít, Dứa, Mận,

Giải thích code:

  • cac_loai_trai_cay: Khai báo một list có tên là cac_loai_trai_cay, chứa các chuỗi là tên các loại trái cây.
  • for trai_cay in cac_loai_trai_cay:: Bắt đầu vòng lặp for.
  • trai_cay: Biến sẽ lần lượt nhận giá trị là “Cam”, rồi đến “Xoài”, “Mít”, “Dứa”, “Mận” trong các lần lặp.
  • in cac_loai_trai_cay: Cho biết biến trai_cay sẽ lấy giá trị từ cac_loai_trai_cay.
  • print(trai_cay, end=", "): Trong mỗi lần lặp, in ra giá trị của biến trai_cay (tức là tên của loại trái cây). Tham số end=", " của hàm print giúp các tên trái cây in ra trên cùng một dòng, ngăn cách nhau bởi dấu phẩy và khoảng trắng, thay vì xuống dòng sau mỗi lần in.

Duyệt phần tử của list bằng vòng lặp while

Vòng lặp while trong Python được sử dụng để thực thi lặp đi lặp lại một khối lệnh, miễn là một điều kiện cụ thể vẫn cho kết quả là “True“.

Chúng ta có thể duyệt qua các phần tử của list bằng cách sử dụng vòng lặp while thông qua việc khởi tạo một biến chỉ số (index variable), sau đó duyệt qua list bằng cách sử dụng biến chỉ số này và tăng biến chỉ số đó cho đến khi chạm đến cuối của list.

Một biến chỉ số được sử dụng bên trong vòng lặp để theo dõi vị trí hiện tại (hay chỉ số) trong một chuỗi, chẳng hạn như một list hoặc mảng. Biến này thường được khởi tạo trước vòng lặp và được cập nhật bên trong vòng lặp để duyệt qua chuỗi.

Cú pháp

Dưới đây là cú pháp cơ bản để duyệt phần tử của list bằng vòng lặp while trong Python:

while điều_kiện:
    # Khối lệnh cần thực thi

Ví dụ

Trong ví dụ dưới đây, ta duyệt qua từng phần tử trong my_list bằng cách sử dụng vòng lặp while. Chúng ta dùng biến chỉ số index để truy cập tuần tự từng phần tử, rồi tăng index sau mỗi lần lặp để chuyển sang phần tử tiếp theo:

my_list = ["táo", "chuối", "cam", "xoài", "dứa"]
index = 0

while index < len(my_list):
    print(my_list[index])
    index += 1

Khi chạy đoạn code trên, kết quả hiển thị sẽ là:

táo
chuối
cam
xoài
dứa

Giải thích:

  • my_list: Một list chứa các loại trái cây.
  • index = 0: Khởi tạo biến index với giá trị ban đầu là 0 (vị trí của phần tử đầu tiên trong list).
  • while index < len(my_list): Điều kiện của vòng lặp while. Vòng lặp sẽ tiếp tục chừng nào giá trị của index còn nhỏ hơn độ dài của my_list (tức là còn phần tử để duyệt).
  • len(my_list): Trả về độ dài (số phần tử) của my_list.
  • print(my_list[index]): In ra màn hình phần tử ở vị trí index trong my_list.
  • index += 1: Tăng giá trị của index lên 1, để trong lần lặp tiếp theo, ta sẽ làm việc với phần tử kế tiếp.

Duyệt phần tử của list trong Python với index

Chỉ số (index) là một giá trị số đại diện cho vị trí của một phần tử trong một chuỗi, chẳng hạn như List, bắt đầu từ 0 cho phần tử đầu tiên.

Chúng ta có thể duyệt qua các phần tử của List bằng cách sử dụng index. Cách thực hiện là lặp qua một dải các chỉ số tương ứng với độ dài của List và truy cập từng phần tử bằng cách sử dụng index trong vòng lặp.

Ví dụ dưới đây khởi tạo một List "danh_sach_diem" chứa các số nguyên. Sau đó, code tạo ra một dải các chỉ số tương ứng với độ dài của List. Tiếp theo, code lặp qua từng chỉ số trong dải đó và in ra giá trị tại chỉ số tương ứng trong List "danh_sach_diem":

"danh_sach_diem":
danh_sach_diem = [25, 12, 10, -21, 10, 100]
chi_so = range(len(danh_sach_diem))
for i in chi_so:
   print ("danh_sach_diem[{}]: ".format(i), danh_sach_diem[i])

Khi chạy đoạn code trên, bạn sẽ nhận được kết quả như sau:

danh_sach_diem[0]: 25
danh_sach_diem[1]: 12
danh_sach_diem[2]: 10
danh_sach_diem[3]: -21
danh_sach_diem[4]: 10
danh_sach_diem[5]: 100

Giải thích code:

  • danh_sach_diem = [25, 12, 10, -21, 10, 100]: Dòng này tạo một List có tên là danh_sach_diem và gán cho List này một dãy số.
  • chi_so = range(len(danh_sach_diem)): len(danh_sach_diem) trả về độ dài của List (trong trường hợp này là 6). Hàm range() tạo ra một chuỗi các số từ 0 đến 5 (6 phần tử). Biến chi_so sẽ đại diện cho dải số này.
  • for i in chi_so:: Đây là một vòng lặp for. Biến i sẽ lần lượt nhận các giá trị trong dải chi_so (tức là 0, 1, 2, 3, 4, 5).
  • print ("danh_sach_diem[{}]: ".format(i), danh_sach_diem[i]): Trong mỗi lần lặp, dòng lệnh này in ra giá trị của phần tử trong danh_sach_diem tại vị trí có chỉ số là i. Ví dụ, khi i là 0, danh_sach_diem[i] sẽ là danh_sach_diem[0], tức là phần tử đầu tiên (25).

Duyệt phần tử sử dụng List Comprehension trong Python

List Comprehension trong Python là một cách ngắn gọn để tạo List bằng cách áp dụng một biểu thức cho từng phần tử của một iterable (đối tượng có thể lặp). Các biểu thức này có thể là các phép toán số học, lời gọi hàm, biểu thức điều kiện,...

Chúng ta có thể duyệt qua các phần tử bằng List Comprehension bằng cách chỉ định biểu thức và iterable (như List, tuple, dictionary, string, hoặc range). Cú pháp như sau: 

[biểu_thức for phần_tử in đối_tượng_có_thể_lặp]

Cú pháp này áp dụng biểu_thức cho từng phần_tử trong đối_tượng_có_thể_lặp và tạo ra một List chứa các kết quả.

Trong ví dụ này, ta sử dụng List Comprehension để duyệt qua từng số trong một List các số, tính bình phương của mỗi số và lưu kết quả bình phương vào List mới binh_phuong_cac_so.

cac_so = [1, 2, 3, 4, 5]
binh_phuong_cac_so = [so ** 2 for so in cac_so]
print(binh_phuong_cac_so)

Chúng ta sẽ nhận được kết quả như sau:

[1, 4, 9, 16, 25]

Giải thích:

  • cac_so = [1, 2, 3, 4, 5]: Khởi tạo một List có tên là cac_so chứa các số từ 1 đến 5.
  • binh_phuong_cac_so = [so ** 2 for so in cac_so]: Đây là phần List Comprehension.
  • for so in cac_so:: Vòng lặp duyệt qua từng phần tử trong List cac_so. Mỗi phần tử lần lượt được gán cho biến so.
  • so ** 2: Biểu thức tính bình phương của so.
  • [so ** 2 for so in cac_so]: Toàn bộ cú pháp [so ** 2 for so in cac_so] có nghĩa là: “Với mỗi so trong cac_so, hãy tính so ** 2 và đưa kết quả vào một List mới”. List mới này được gán cho biến binh_phuong_cac_so.
  • print(binh_phuong_cac_so): In List binh_phuong_cac_so ra màn hình.

Duyệt phần tử của list với hàm enumerate()

Hàm enumerate() trong Python được sử dụng để duyệt qua một đối tượng iterable (có thể lặp lại), đồng thời cung cấp chỉ số của từng phần tử.

Chúng ta có thể duyệt bằng hàm enumerate() bằng cách áp dụng nó cho đối tượng iterable. Cú pháp như sau:

for index, item in enumerate(iterable):
    # Xử lý index và item

Cú pháp này cung cấp cả chỉ số và phần tử của từng thành phần trong đối tượng iterable trong quá trình duyệt.

Trong ví dụ sau, chúng ta sẽ sử dụng hàm enumerate() để duyệt qua một list các món ăn Việt Nam và lấy ra từng món ăn cùng với thứ tự của món ăn đó trong danh sách:

cac_mon_an = ["Phở", "Bún chả", "Gỏi cuốn", "Bánh mì"]
for thu_tu, mon_an in enumerate(cac_mon_an):
    print(f"Món thứ {thu_tu + 1}: {mon_an}")

Khi chạy đoạn code trên, ta sẽ thấy kết quả như sau:

Món thứ 1: Phở
Món thứ 2: Bún chả
Món thứ 3: Gỏi cuốn
Món thứ 4: Bánh mì

Giải thích:

  • cac_mon_an: Đây là một list chứa tên các món ăn.
  • enumerate(cac_mon_an): Hàm enumerate() được gọi với đối số là list cac_mon_an.
  • for thu_tu, mon_an in ...:: Vòng lặp for được sử dụng để duyệt qua kết quả trả về từ enumerate(). Mỗi lần lặp, enumerate() sẽ trả về một cặp giá trị:
    • thu_tu: Chỉ số của phần tử trong list (bắt đầu từ 0).
    • mon_an: Giá trị của phần tử tương ứng.
  • print(f"Món thứ {thu_tu + 1}: {mon_an}"): In ra thứ tự và tên món ăn. Lưu ý rằng ta cộng thu_tu với 1 để hiển thị thứ tự món ăn bắt đầu từ 1 thay vì 0 cho dễ đọc.

Lời kết

Như vậy, chúng ta đã cùng nhau tìm hiểu chi tiết về các cách duyệt phần tử của list trong Python. Từ vòng lặp for, while, sử dụng index, List Comprehension cho đến hàm enumerate(), mỗi phương pháp đều có ưu điểm riêng. Hy vọng những kiến thức này sẽ hữu ích cho bạn trong quá trình lập trình Python. Việc lựa chọn phương pháp nào sẽ tùy thuộc vào ngữ cảnh và mục đích sử dụng của bạn.

Mọi người cũng đọc

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn