Cách tốt nhất để lặp qua danh sách python

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à

  1. Một vòng lặp
    my_list = [5, 3, 90, 23, 12]
    my_tuple = [8, 20, 4, 34, 98]
    7
  2. Hàm
    my_list = [5, 3, 90, 23, 12]
    my_tuple = [8, 20, 4, 34, 98]
    8
  3. hiểu danh sách
  4. Một vòng lặp
    my_list = [5, 3, 90, 23, 12]
    my_tuple = [8, 20, 4, 34, 98]
    9
  5. Hàm
    for x in my_list:
        print[x * 2]
    0

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

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ách

Hã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 Python

2. 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

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ên

my_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ên

for 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]
0

Lư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]
9

Bâ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]
2

Lư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

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ặp

Quy 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

  1. 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.
    my_list[0]  # first element
    my_list[1]  # second element
    7]
  2. Bắt đầu vòng lặp
    my_list = [5, 3, 90, 23, 12]
    my_tuple = [8, 20, 4, 34, 98]
    9 với điều kiện chỉ số phải nhỏ hơn độ dài của iterable [e. g.
    my_list[0]  # first element
    my_list[1]  # second element
    9]
  3. Chạy mã được áp dụng cho từng thành phần của iterable [e. g.
    for i in range[len[my_list]]:
        print['index:', i, 'value:', my_list[i]]
    0]
  4. Cập nhật biến chỉ số [e. g.
    for i in range[len[my_list]]:
        print['index:', i, 'value:', my_list[i]]
    1]

Đừ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ày

my_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]
4

Cũ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 Python

5. Sử dụng
for x in my_list:
    print[x * 2]
0 để lặp qua danh sách Python

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ục

Mộ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]
9

my_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]
6

Phươ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ại

Phầ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]
9

TÌ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

Cách tốt nhất để lặp lại một danh sách trong Python là gì?

6 cách lặp qua một danh sách trong Python .
Sử dụng vòng lặp. Phương pháp dễ nhất để lặp lại danh sách trong lập trình python là sử dụng chúng cho một vòng lặp. .
Sử dụng hàm loop và range[]. .
Sử dụng vòng lặp While. .
Sử dụng hiểu danh sách. .
Sử dụng hàm enumerate[]. .
Sử dụng hàm Numpy

Cách nhanh nhất để lặp lại một danh sách trong Python là gì?

Kết luận .
Vòng lặp for cổ điển thực sự là nhanh nhất
Phương pháp sử dụng hàm liệt kê là phương pháp nhanh nhất trong số các phương pháp đang cung cấp tất cả các mục và chỉ mục

Bạn nên sử dụng loại vòng lặp nào để lặp qua một danh sách?

Để lặp qua từng mục trong danh sách, bạn sẽ sử dụng vòng lặp for .

Bạn có thể lặp qua danh sách Python 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.

Chủ Đề