Duyệt qua một danh sách trong python có nghĩa là

Danh sách là một trong những cấu trúc dữ liệu được sử dụng nhiều nhất trong Python. Chúng tôi tiếp tục sử dụng danh sách trong nhiều ứng dụng khác nhau, từ giải quyết các vấn đề đơn giản đến các vấn đề phức tạp. Trong Python, danh sách thay thế mảng bằng các ưu điểm như

  1. Kích thước động
  2. Có thể lưu trữ các mục thuộc các loại dữ liệu khác nhau trong một danh sách

Chúng ta có thể truy cập dữ liệu một cách đơn giản từ các danh sách theo thứ tự; . Để truy cập dữ liệu, chúng ta có thể sử dụng một số cách để lặp qua từng phần tử trong danh sách. Hướng dẫn này bao gồm tất cả các cách với các ví dụ

1. vòng lặp

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

hiểu biết

Chúng tôi đã tạo một danh sách với một vài yếu tố. Ban đầu, đếm = 0. Chúng tôi đang in phần tử ở chỉ mục 'đếm' và tăng số đếm trong vòng lặp while. Khi số lượng đạt đến độ dài của danh sách, vòng lặp sẽ kết thúc và tất cả các phần tử sẽ được truy cập

cơ chế

đếm = 0list1 [0]3count = 1list1 [1]5count = 2list1 [2]7count = 3list1 [3]2count = 4list1 [4]4count = 5 = len (list1)--

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

hiểu biết

Sử dụng for-in, chúng tôi đã truy cập tất cả các i, các phần tử bên trong danh sách

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

hiểu biết

Hàm phạm vi giúp vòng lặp 'for' lặp lại từ 0 đến độ dài của danh sách đã cho

cơ chế

phạm vi cung cấp - 0 list1 [0]3 phạm vi cung cấp - 1list1 [1]5 phạm vi cung cấp - 2list1 [2]7 phạm vi cung cấp - 3list1 [3]2 phạm vi cung cấp - 4 list1 [4]4
  • Hàm phạm vi không cung cấp phần tử cuối cùng được chỉ định - len (list1) = 5 không được cung cấp

2. Sử dụng danh sách hiểu

Đây là cách đơn giản và được đề xuất để lặp qua một danh sách trong Python

Mã số

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

hiểu biết

Chúng ta có thể sử dụng vòng lặp for bên trong cách hiểu danh sách. Chúng ta đã sử dụng vòng lặp for tương tự mà chúng ta đã sử dụng trong các ví dụ trên nhưng bên trong một danh sách trong một dòng. Bằng cách này, chúng ta có thể giảm độ dài của mã và khả năng hiểu danh sách cũng là một cách rất tinh tế và hiệu quả để đặt các vòng lặp trong danh sách

3. Sử dụng liệt kê()

Hàm liệt kê chuyển đổi danh sách đã cho thành danh sách các bộ dữ liệu. Một thực tế quan trọng khác về chức năng này là nó giữ số lần lặp lại. Đây là một chức năng tích hợp trong Python

Mã số

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

4. Sử dụng hàm lambda và map()

Đây là những chức năng ẩn danh. Có một hàm map() trong Python có thể chấp nhận một hàm làm đối số và nó gọi hàm có mọi phần tử trong có thể lặp lại và một danh sách mới có tất cả các phần tử từ có thể lặp lại sẽ được trả về

Mã số

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

hiểu biết

số lambda. num được cung cấp làm đầu vào cho chức năng bản đồ cùng với danh sách. Hàm sẽ lấy từng phần tử trong danh sách, chấp nhận và sau đó trả về. Hàm map() sẽ truyền lần lượt các phần tử danh sách cho hàm lambda để trả về các phần tử

Điều gì xảy ra nếu chúng ta muốn Lặp lại Danh sách Đa chiều?

Có một mô-đun sẵn có trong Python được thiết kế để thực hiện các thao tác trên danh sách đa chiều

1. để có được numpy

Kiểm tra xem Python và pip đã được cài đặt chưa bằng cách mở cmd qua tìm kiếm và gõ lệnh

Phiên bản Python

Pip --version

Nếu cả Python và PIP đều có trong hệ thống của chúng tôi, thì đã đến lúc cài đặt thư viện của chúng tôi

2. Mở cmd từ menu bắt đầu

3. gõ lệnh

cài đặt pip gọn gàng

Duyệt qua một danh sách trong python có nghĩa là

Tất cả các gói thư viện, dữ liệu và gói con sẽ được cài đặt lần lượt

Mã số

đầu ra

Duyệt qua một danh sách trong python có nghĩa là

hiểu biết

Chúng tôi đã nhập mô-đun numpy. Sử dụng phương thức sắp xếp, chúng tôi đã tạo một mảng có 9 phần tử. Chúng tôi đã truy cập danh sách bằng cách định hình lại nó thành 3 * 3 (hàng * cột) bằng cách định hình lại. Sử dụng chức năng nditer, chúng tôi đã in từng phần tử trong danh sách

Lặp lại một danh sách có nghĩa là đi qua từng phần tử của danh sách. Chúng tôi lặp lại một danh sách bất cứ khi nào chúng tôi cần sử dụng các phần tử của nó trong một số thao tác hoặc thực hiện một thao tác trên chính các phần tử đó. Có một số cách để lặp qua một danh sách - sử dụng các vòng lặp, phương thức phạm vi, hiểu danh sách, hàm liệt kê và sử dụng mô-đun numpy

Phạm vi

  • Chúng ta sẽ đi qua các khái niệm về danh sách và mảng
  • Chúng ta sẽ hiểu tầm quan trọng của phép lặp trong lập trình
  • Chúng ta sẽ đi qua các khái niệm khác nhau trong các vòng lặp để lặp lại
  • Chúng ta cũng sẽ xem xét một số chức năng trong gói NumPy để lặp qua danh sách và mảng trong Python

Cách lặp lại một danh sách trong Python

Trước khi chúng tôi đi sâu vào cốt lõi, hãy hiểu những điều cơ bản và xem qua từng thuật ngữ

Danh sách là gì?

Danh sách là một cấu trúc dữ liệu sẵn có trong Python được sử dụng để lưu trữ và sử dụng các mục dữ liệu một cách tập thể và hiệu quả. Chính thức, một danh sách có thể được định nghĩa là một nhóm các mục dữ liệu được tham chiếu dưới một tên chung. Danh sách có thêm lợi ích là có kích thước động, điều đó có nghĩa là bạn không phải chỉ định trước kích thước của danh sách, kích thước được xác định bởi các phần tử được tạo trong danh sách. Danh sách thể hiện các lợi ích như, nó có thể chứa các mục dữ liệu với các loại dữ liệu khác nhau, nhưng nó cũng có nhược điểm. Vì các danh sách được thiết kế để chứa các mục dữ liệu với các loại dữ liệu khác nhau nên các mục này không được lưu trữ ở các vị trí bộ nhớ liền kề và sẽ chậm hơn khi tính toán một lượng dữ liệu khổng lồ

Mảng là gì?

Vì bây giờ chúng ta đã biết về danh sách, chúng ta hãy tìm hiểu cấu trúc dữ liệu tương tự được gọi là mảng. Mảng cũng được thiết kế để phục vụ mục đích tương tự, nhưng nó khác với danh sách. Mảng lưu trữ các mục dữ liệu có kiểu dữ liệu tương tự. Vì vậy, một định nghĩa chính thức có thể được thực hiện vì mảng là một nhóm các mục dữ liệu có kiểu dữ liệu tương tự được tham chiếu dưới một tên chung. Vì mảng chứa các mục dữ liệu có kiểu dữ liệu tương tự, các mục dữ liệu này được lưu trữ ở các vị trí bộ nhớ liền kề và nhanh hơn danh sách

Nguyên tắc lặp lại là gì?

Bây giờ hãy vượt qua rào cản thứ hai, thuật ngữ lặp lại. lặp lại là gì? . Về bản chất, lặp lại có nghĩa là lặp đi lặp lại cùng một nhiệm vụ và đôi khi suy ra từ những kết quả này. Các phép lặp trong lập trình có thể dễ dàng đạt được thông qua việc sử dụng các vòng lặp. Chúng ta sẽ thấy điều đó sau

Tại sao chúng ta cần lặp lại?

Bây giờ chúng ta biết lặp đi lặp lại có nghĩa là gì. Bây giờ hãy xem tại sao chúng ta cần sử dụng nó. Lặp đi lặp lại có nghĩa đơn giản là làm đi làm lại cùng một nhiệm vụ để đạt được kết quả. Rốt cuộc, hãy nói về nhu cầu lặp lại liên quan đến lập trình, đó là cốt lõi của bài viết này. Giả sử được giao một nhiệm vụ đơn giản là tính bảng cửu chương của một số. Người ta có thể yêu cầu người dùng nhập số và yêu cầu giới hạn, đó là cho đến số nhân nào. Đối với đầu vào nhỏ của hệ số nhân, lập trình viên chỉ có thể hiển thị đầu ra bằng cách tính toán thủ công, nhưng nếu đầu vào lớn, giả sử giá trị của hệ số nhân là 100 hoặc 1000. Tính toán thủ công không còn là một lựa chọn. Vì vậy, những gì lập trình viên có thể làm là lặp lại cùng một logic tính toán số đầu vào và số nhân đầu tiên hơn 1000 lần trong một vòng lặp và thực hiện thay đổi hoặc tăng số nhân. Vì vậy, về bản chất, cùng một logic được chạy đi chạy lại bao nhiêu lần người dùng muốn. Để giải quyết các hạn chế trong tính toán thủ công là lý do tại sao chúng tôi sử dụng nguyên tắc lặp và vòng lặp

Hãy xem cùng một chương trình đang hoạt động,

Chương trình này sẽ minh họa việc sử dụng phép lặp trong Python

multiplicand = int(input('Enter the multiplicant       : '))
multiplier = int(input('Enter the maximum multiplier : '))
i=0
while i<=multiplier:
	print(f"{multiplicand} * {i} = {multiplicand * i}")
	i += 1

đầu ra

Enter the multiplicand       : 2
Enter the maximum multiplier : 10
2 * 0 = 0
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 10 = 20

Ở đây bội số là 2 và bội số tối đa là 10, và bạn có thể thấy cách chúng tôi thực hiện lặp lại phép toán nhân, tiết kiệm thời gian và công sức

Bây giờ chúng ta đã biết, cái gì và tại sao chúng ta cần lặp lại. Lặp lại danh sách và mảng là một nhiệm vụ thực sự quan trọng trong nhiều phần mềm ứng dụng trong thế giới thực. Thậm chí có thể nói cốt lõi của các thuật toán dựa trên nguyên tắc lặp

Trước khi chúng tôi lặp lại các danh sách, hãy xem cách chúng tôi có thể tạo một danh sách

items = [3, '.', 1, 4, 'pi', 3.14159]
print(items)

đầu ra

[3, '.', 1, 4, 'pi', 3.14159]

Ở đây, chúng tôi đã tạo danh sách được gọi là các mục được lưu trữ giá trị vào đó

Bây giờ chúng ta đã tạo danh sách, hãy thực hiện các cách khác nhau để lặp lại danh sách đó

Phương pháp 1. Sử dụng vòng lặp

Trong phương pháp này, chúng tôi sẽ sử dụng vòng lặp for có trong các hàm Python mặc định

Sử dụng các vòng lặp, chúng tôi sẽ lặp qua các danh sách trong Python

cú pháp

for iterator in iterable:
	.. code statements

Vòng lặp for thực hiện ba việc, đầu tiên khởi tạo trình vòng lặp thành một giá trị cố định và lần thứ hai lặp qua lần lặp, sau đó lần thứ ba cập nhật trình vòng lặp theo lựa chọn đã chỉ định

  • iterable là cấu trúc chúng tôi muốn lặp lại
  • iterator là biến được sử dụng để theo dõi số lần lặp trên iterable

items = [3, '.', 1, 4, 'pi', 3.14159]

for i in items:
    print(i)

đầu ra

Với sự trợ giúp của vòng lặp in và vòng lặp for, chúng tôi đã lặp lại danh sách các mục và do đó lặp lại các danh sách trong Python

Phương pháp 2. Sử dụng phương thức phạm vi ()

Trong phương pháp này, chúng ta sẽ sử dụng một hàm gọi là phạm vi có trong các hàm Python mặc định

Sử dụng hàm range(), chúng ta sẽ lặp qua các danh sách trong Python

cú pháp. phạm vi (bắt đầu, dừng, bước)

Hàm range() nhận 3 đối số, hãy xem những đối số đó là gì

  • bắt đầu (tùy chọn). chỉ định giá trị bắt đầu của số được lặp lại, mặc định là 0

  • dừng (bắt buộc). chỉ định giá trị tối đa của số, cho đến số nào sẽ lặp lại tối đa

  • bước (tùy chọn). chỉ định khoảng thời gian để lấy giá trị

Bây giờ hãy xem cách sử dụng nó


items = [3, '.', 1, 4, 'pi', 3.14159]
length = len(items)
 
for i in range(length):
    print[items[i])

đầu ra

Ở đây, chúng tôi đã truy cập từng phần tử của các mục danh sách bằng cách sử dụng hàm range() và vòng lặp for, do đó lặp qua các danh sách trong Python

Phương pháp 3. Sử dụng Vòng lặp While

Trong phương pháp này, chúng ta sẽ sử dụng vòng lặp while có trong các hàm mặc định của Python

Chúng tôi sẽ lặp qua các danh sách trong Python bằng cách sử dụng vòng lặp while có sẵn trong Python

cú pháp

while(condition):
	.. code statements ...
	increment iterator

Vòng lặp while chỉ cho phép các câu lệnh mã được thực thi khi và chỉ khi, điều kiện được cung cấp cho vòng lặp while trả về true

________số 8

đầu ra

Ở đây, chúng tôi đã truy cập từng phần tử của các mục danh sách bằng cách sử dụng vòng lặp while và do đó, việc lặp qua các danh sách trong Python đã được thực hiện

Phương pháp 4. Danh sách hiểu

Hiểu danh sách là một kỹ thuật cung cấp cú pháp ngắn hơn khi muốn tạo danh sách mới dựa trên các giá trị của danh sách hiện có

cú pháp

Khả năng hiểu danh sách hoạt động bằng cách dịch các giá trị từ danh sách này sang danh sách khác bằng cách đặt câu lệnh for bên trong cặp dấu ngoặc vuông [], được gọi chính thức là biểu thức trình tạo

Một trình tạo có thể được gọi là một đối tượng có thể lặp lại, cung cấp một loạt các giá trị

Điều này làm giảm cú pháp vì bạn không phải tuân theo thụt đầu dòng của vòng lặp for đã tạo

Chúng tôi sẽ sử dụng phương pháp hiểu danh sách, để lặp qua các danh sách trong Python tại đây

Hãy xem nó hoạt động như thế nào

items = [3, '.', 1, 4, 'pi', 3.14159]

[print(i) for i in items]

đầu ra

Ở đây câu lệnh print(i) được thực thi giống như cách nó sẽ được thực thi trong một vòng lặp for thông thường

Chúng tôi đã thành công trong việc lặp lại các danh sách trong Python

Khả năng hiểu danh sách thường được sử dụng khi cần một thay đổi nhỏ, cho phép chúng tôi rút ngắn cú pháp lặp qua các vòng lặp. Nhưng người ta cũng có thể sử dụng khả năng hiểu danh sách với thao tác so sánh, danh sách lồng nhau hoặc thậm chí vòng lặp for lồng nhau

Hãy xem bài viết này để biết thêm về Hiểu danh sách trong Python

Phương pháp 5. Sử dụng liệt kê()

Khi chúng tôi muốn chuyển đổi danh sách thành danh sách các bộ lặp có thể lặp lại hoặc lấy chỉ mục dựa trên kiểm tra điều kiện, chẳng hạn như trong thuật toán tìm kiếm, chúng tôi có thể cần lưu chỉ mục của phần tử tối đa hoặc tối thiểu, chúng tôi có thể sử dụng

Hãy xem cách chúng ta có thể lặp qua các danh sách trong Python bằng cách sử dụng cái này

cú pháp

đầu vào. đầu ra có thể lặp lại. chỉ mục và giá trị của chỉ mục tương ứng trong iterable

Enter the multiplicand       : 2
Enter the maximum multiplier : 10
2 * 0 = 0
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 10 = 20
0

đầu ra

Enter the multiplicand       : 2
Enter the maximum multiplier : 10
2 * 0 = 0
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 10 = 20
1

Tại đây, có thể lấy được cả giá trị của vật phẩm cũng như chỉ số của nó

Chúng tôi đã lặp lại thành công danh sách trong Python

Phương thức liệt kê () hoạt động tương tự như bộ đếm cho cấu trúc dữ liệu có thể lặp lại như danh sách và bộ dữ liệu trong Python và trả về đầu ra ở dạng đối tượng liệt kê, có nghĩa là cả chỉ mục và giá trị được ghép nối với nhau.  

Nó chủ yếu được sử dụng để theo dõi các bộ đếm trong cấu trúc dữ liệu có thể lặp lại

Phương pháp 6. Python NumPy

Trong khi xử lý các danh sách n chiều rất lớn (danh sách các danh sách hoặc một mảng hình ảnh), sẽ khôn ngoan hơn khi sử dụng một thư viện bên ngoài như NumPy. Sử dụng các hàm từ gói NumPy, chúng ta có thể lặp qua các danh sách trong Python

Hãy xem làm thế nào

Ghi chú. Ở đây, chúng tôi sử dụng numpy dưới dạng np làm bí danh cho numpy, để tránh sử dụng từ khóa numpy nhiều lần. Điều này đồng thời làm cho mã trông gọn gàng

Ở đây, chúng tôi sử dụng một hàm trong NumPy có tên là nditer(), viết tắt của n- dimensions iteration. Hàm nditer() cho phép một người lặp qua một mảng n chiều, bằng cách đi qua từng mục trong mảng

Ghi chú. Đầu vào của hàm nditer() phải luôn là một mảng NumPy n chiều. Vì vậy, bạn phải chuyển đổi danh sách đã nói thành một mảng NumPy, sử dụng các hàm có sẵn trong gói NumPy

Điều gì có nghĩa là duyệt qua một danh sách?

Di chuyển có nghĩa là truy cập từng nút của danh sách một lần để thực hiện một số thao tác trên đó .

Di chuyển trong Python có nghĩa là gì?

Duyệt một chuỗi có nghĩa là truy cập lần lượt tất cả các phần tử của chuỗi bằng cách sử dụng chỉ số dưới . Một chuỗi có thể được duyệt bằng cách sử dụng vòng lặp for hoặc vòng lặp while. Ví dụ. A = 'Trăn' i = 0.