Python cách nhanh nhất để lặp qua danh sách

Python được biết đến là một ngôn ngữ lập trình chậm. Mặc dù thực tế là Python chậm hơn các ngôn ngữ khác, nhưng vẫn có một số cách để tăng tốc code Python của chúng ta

Làm sao?

Nếu chúng ta viết mã tiêu tốn ít bộ nhớ và dung lượng lưu trữ, chúng ta không chỉ hoàn thành công việc mà còn làm cho mã Python của chúng ta chạy nhanh hơn

Đây là một cách nhanh và cũng siêu nhanh để lặp lại trong Python mà tôi đã học được trong một trong các khóa học Python mà tôi đã tham gia (chúng tôi không bao giờ ngừng học. )

Vòng lặp trung bình

Giả sử chúng ta muốn tính tổng các số từ 1 đến 100000000 (có thể chúng ta sẽ không bao giờ làm điều đó nhưng con số lớn đó sẽ giúp tôi đưa ra quan điểm của mình)

Một cách tiếp cận điển hình là tạo một biến

for val in np.nditer(numpy_array):
	Statemnet
1, lặp qua một phạm vi và tăng giá trị của
for val in np.nditer(numpy_array):
	Statemnet
2 lên
for val in np.nditer(numpy_array):
	Statemnet
3 trên mỗi lần lặp lại

Điều này hoàn thành công việc, nhưng phải mất khoảng 6. 58 giây

Mặc dù hiện tại có vẻ không quá chậm nhưng tốc độ sẽ chậm hơn khi bạn thêm nhiều số 0 vào số bên trong phạm vi

Hãy tăng tốc độ này lên

Một cách nhanh hơn để lặp lại bằng cách sử dụng các chức năng tích hợp

Một cách nhanh hơn để lặp trong Python là sử dụng các hàm tích hợp sẵn

Trong ví dụ của chúng tôi, chúng tôi có thể thay thế vòng lặp for bằng hàm

for val in np.nditer(numpy_array):
	Statemnet
4. Hàm này sẽ tính tổng các giá trị bên trong dãy số

Đoạn mã trên mất 0. 84 giây. Đó là cách nhanh hơn so với vòng lặp trước mà chúng tôi đã sử dụng. Đây là lý do tại sao chúng ta nên chọn các hàm tích hợp thay vì các vòng lặp

Nhưng vẫn còn chỗ để cải thiện

Một cách lặp siêu nhanh bằng Numpy

Vài tuần trước, trong một khóa học về khoa học dữ liệu mà tôi đã tham gia, tôi đã học được rằng một trong những phương pháp thực hành công nghệ phần mềm mà tôi nên tuân theo để trở thành một nhà khoa học dữ liệu giỏi hơn là tối ưu hóa mã của mình

Chúng ta có thể tối ưu hóa các vòng lặp bằng cách vector hóa các thao tác. Đây là một/hai bậc độ lớn nhanh hơn so với Python thuần túy tương đương của chúng (đặc biệt là trong các phép tính số)

Vectorization là thứ chúng ta có thể nhận được với NumPy. Numpy là một thư viện có cấu trúc dữ liệu hiệu quả được thiết kế để chứa dữ liệu ma trận. Nó chủ yếu được viết bằng C, vì vậy tốc độ là thứ bạn có thể tin tưởng

Hãy thử sử dụng các phương thức Numpy

for val in np.nditer(numpy_array):
	Statemnet
5 và
for val in np.nditer(numpy_array):
	Statemnet
6 thay vì các hàm Python

Điều này hoàn thành công việc trong 0. 22 giây. Đây là cách nhanh hơn so với các phương pháp trước đây

Đây là lý do tại sao bạn nên sử dụng các phép toán vectơ trên các vòng lặp bất cứ khi nào có thể

Đưa các vòng lặp và Numpy vào thử nghiệm với nhiều tính toán hơn

Cho đến giờ chúng ta đã thấy một ứng dụng đơn giản của Numpy, nhưng điều gì sẽ xảy ra nếu chúng ta không chỉ có một vòng lặp for mà còn có một điều kiện if và nhiều tính toán hơn để thực hiện?

Đây là khi Numpy rõ ràng vượt trội so với các vòng lặp

Hãy tưởng tượng chúng ta có một mảng điểm thi ngẫu nhiên (từ 1 đến 100) và chúng ta muốn lấy điểm trung bình của những người thi trượt (điểm <70)

Đây là cách chúng tôi làm điều này với vòng lặp for

Điều đó mất khoảng 15. 7 giây. Không tệ, nhưng chúng ta có thể nhận được kết quả nhanh hơn với Numpy

Đây là cách chúng tôi làm điều này với Numpy

Đoạn mã trên mất khoảng 0. 78 giây. Đó là cách nhanh hơn và mã đơn giản

Học Khoa học dữ liệu với Python?

Nếu bạn thích đọc những câu chuyện như thế này và muốn hỗ trợ tôi với tư cách là một nhà văn, hãy cân nhắc đăng ký để trở thành thành viên Medium. Đó là 5 đô la một tháng, cho phép bạn truy cập không giới hạn vào hàng nghìn hướng dẫn về Python và các bài báo về Khoa học dữ liệu. Nếu bạn đăng ký bằng liên kết của tôi, tôi sẽ kiếm được một khoản hoa hồng nhỏ mà bạn không phải trả thêm phí

Xin chào các bạn lập trình viên trong bài viết hôm nay chúng ta sẽ tìm hiểu cách lặp qua danh sách trong Python. Chúng ta sẽ thảo luận về 11 cách mạnh mẽ để lặp hoặc lặp qua danh sách bằng Python. Bạn có thể chọn phương pháp tốt nhất tùy theo nhu cầu hoặc hiệu quả của quy trình. Vì vậy, hãy trực tiếp đến điểm và bắt đầu cuộc hành trình

Nếu bạn chưa quen với lập trình, bạn có thể không biết về các thuật ngữ như phép lặp và danh sách. Vì vậy, đối với bạn, hãy để tôi giải thích những thuật ngữ này bằng một ngôn ngữ giáo dân rất đơn giản

lặp lại. Thông thường trong một thuật toán, một tập hợp các câu lệnh phải được thực hiện lặp đi lặp lại cho đến khi một điều kiện cụ thể được đáp ứng; . Việc thực hiện lặp đi lặp lại một số nhóm câu lệnh mã trong một chương trình được gọi là phép lặp

Danh sách. Trong lập trình Python, một danh sách được tạo bằng cách đặt tất cả các mục (thành phần) trong dấu ngoặc vuông [], được phân tách bằng dấu phẩy. Nó có thể có bất kỳ số lượng nào và chúng có thể thuộc các loại khác nhau (số nguyên, số float, chuỗi, v.v. ). Một danh sách cũng có thể có một danh sách khác như một thứ. Điều này được gọi là một danh sách lồng nhau

Hi vọng các bạn đã hiểu list và iteration trong python là gì. Hãy lướt qua 11 cách để lặp qua danh sách trong Python mà chúng ta đang học hôm nay

nội dung

  • Các cách lặp qua danh sách trong Python
  • 1. Lặp qua danh sách trong Python bằng vòng lặp For
  • 2. Lặp qua danh sách trong Python bằng vòng lặp While
  • 3. Lặp lại danh sách trong Python bằng mô-đun Numpy
  • 4. Lặp qua danh sách trong Python bằng phương pháp liệt kê
  • 5. Lặp lại danh sách trong Python bằng cách sử dụng tính năng hiểu danh sách
  • 6. Lặp lại danh sách trong Python bằng vòng lặp và phạm vi
  • 7. Lặp lại danh sách trong Python bằng Map và Lambda
  • 8. Lặp lại danh sách trong Python bằng cách sử dụng zip()
  • 9. Lặp qua danh sách trong Python bằng cách sử dụng Iterator – Iter() và Next()
  • 10. Lặp lại danh sách trong Python bằng Itertools. Xe đạp
  • 11. Lặp qua danh sách trong Python bằng Itertools Grouper
  • Python lặp qua danh sách và xóa các mục
  • câu hỏi thường gặp
  • Phần kết luận. Python lặp qua danh sách

Các cách lặp qua danh sách trong Python

Python cách nhanh nhất để lặp qua danh sách

Trong hướng dẫn này, chúng ta sẽ thảo luận chi tiết về tất cả 11 cách để lặp qua danh sách trong python như sau

1. Lặp qua danh sách trong Python bằng vòng lặp For
2. Lặp qua danh sách trong Python bằng vòng lặp While
3. Lặp lại danh sách trong Python bằng mô-đun Numpy
4. Lặp qua danh sách trong Python bằng phương pháp liệt kê
5. Lặp qua danh sách trong Python bằng cách sử dụng tính năng hiểu danh sách
6. Lặp qua danh sách trong Python bằng Vòng lặp và Phạm vi
7. Lặp qua danh sách trong Python bằng Map và Lambda
8. Lặp qua danh sách trong Python bằng Iter() và Next()
9. Lặp qua Danh sách bằng Python Sử dụng zip()
10. Lặp lại danh sách trong Python bằng Itertool. Chu kỳ
11. Lặp qua danh sách trong Python bằng Itertools Grouper

1. Lặp qua danh sách trong Python bằng vòng lặp For

Thực hiện lặp trong một danh sách bằng cách sử dụng vòng lặp for là cách dễ nhất và cơ bản nhất để đạt được mục tiêu của chúng ta. Như bạn có thể phát hiện ra bài viết này bằng cách sử dụng một số công cụ tìm kiếm trong khi tìm cách lặp qua một danh sách trong Python. Vì vậy, tôi giả định rằng bạn đã có kiến ​​thức cơ bản về vòng lặp. Vì vậy, tôi không trình bày về các vòng lặp ở đây

cú pháp

for variableName in listName:

Thí dụ

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 

đầu ra

9
11
13
15
17
19

Giải trình

Trong chương trình ví dụ trên, đầu tiên chúng ta đã khởi tạo và tạo một danh sách với chính danh sách tên. Danh sách chứa sáu phần tử trong đó lần lượt là [9, 11, 13, 15, 17, 19]. Và sau đó, chúng tôi đã khởi tạo một vòng lặp for đơn giản trong danh sách, vòng lặp này sẽ lặp lại đến cuối danh sách và cuối cùng in tất cả các phần tử từng phần tử một. Để in bằng python, chúng ta chỉ cần sử dụng hàm print() như các bạn đã biết

2. Lặp qua danh sách trong Python bằng vòng lặp While

Phương pháp thứ hai để lặp qua danh sách trong python là sử dụng vòng lặp while. Trong vòng lặp while để lặp lại danh sách, chúng ta sẽ thực hiện theo một cách tiếp cận tương tự như chúng ta đã quan sát ở cách đầu tiên, i. e. , phương pháp vòng lặp for. Chúng ta chỉ cần tìm độ dài của danh sách như một bước bổ sung

cú pháp

while(condition_to_be_checked) :
    Statement
        UpdationExpression

Thí dụ

# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1

đầu ra

9
11
13
15
17
19

Giải trình

Trong chương trình ví dụ trên, đầu tiên chúng ta đã khởi tạo và tạo một danh sách với chính danh sách tên. Danh sách chứa sáu phần tử trong đó lần lượt là [9, 11, 13, 15, 17, 19]. Sau đó, chúng ta phải tìm độ dài của danh sách, việc tìm độ dài của danh sách trong vòng lặp while rất quan trọng vì chúng ta phải kiểm tra các điều kiện. Như bạn có thể đã biết, vòng lặp while chỉ lặp nếu các điều kiện là đúng. Vì vậy, đó là lý do tại sao chúng ta cần tìm độ dài của danh sách, trong trường hợp này, độ dài là sáu nên vòng lặp while sẽ lặp sáu lần. Và chúng ta cũng đã khai báo và khởi tạo một biến 'i' với giá trị ban đầu là '0'

Đến với vòng lặp while, lần đầu tiên chúng ta đã kiểm tra điều kiện đúng. Như ban đầu, giá trị của 'i' là '0' và độ dài của danh sách là '6'. Vì vậy, nó đang kiểm tra '0 < 6′ là đúng nên nó sẽ đi vào bên trong vòng lặp while và thực hiện câu lệnh. Ở đây câu lệnh cần thực hiện là in phần tử đầu tiên của danh sách. Sau khi thực hiện câu lệnh, nó sẽ chuyển sang biểu thức cập nhật và thực hiện theo bước bắt buộc là tăng thêm '1′

Vòng lặp while sẽ lặp cho đến khi điều kiện trở thành sai. Và cuối cùng chúng ta sẽ đạt được sự lặp lại của danh sách trong python

xu hướng

[Đã sửa] ModuleNotFoundError. Không có mô-đun nào có tên Dotenv

3. Lặp lại danh sách trong Python bằng mô-đun Numpy

Phương pháp thứ ba để lặp qua một danh sách trong Python là sử dụng Mô-đun Numpy. Để đạt được mục tiêu của chúng tôi bằng phương pháp này, chúng tôi cần hai phương pháp gọn gàng được đề cập bên dưới

  1. cục mịch. tiếng kêu ()
  2. cục mịch. sắp xếp()

Đối tượng iterator nditer cung cấp nhiều cách linh hoạt để lặp qua toàn bộ danh sách bằng cách sử dụng mô-đun numpy. Hàm nditer() là một hàm trợ giúp có thể được sử dụng từ các bước lặp rất cơ bản đến rất nâng cao. Nó đơn giản hóa một số vấn đề cơ bản mà chúng ta phải đối mặt trong một lần lặp

Chúng ta cũng cần một hàm khác để lặp qua một danh sách trong Python bằng cách sử dụng numpy, đó là numpy. sắp xếp().
numpy. arange trả về các giá trị cách đều nhau trong một khoảng nhất định. Các giá trị được tạo trong khoảng thời gian nửa mở [bắt đầu, dừng) (nói cách khác, khoảng thời gian bao gồm bắt đầu nhưng không bao gồm dừng).

cú pháp

Cú pháp của numpy. tiếng kêu ()

for val in np.nditer(numpy_array):
	Statemnet

Cú pháp của numpy. sắp xếp()

([start, ]stop, [step, ]dtype=None)
  • # Program to loop through the list using while loop
    list = [9, 11, 13, 15, 17, 19] 
    
    # Finding length of the list
    length = len(list) 
    i = 0
    
    # While Loop to iterate through list
    while i < length: 
    	print(list[i]) 
    	i += 1
    
    0. Tham số bắt đầu được sử dụng để cung cấp giá trị bắt đầu của mảng
  • # Program to loop through the list using while loop
    list = [9, 11, 13, 15, 17, 19] 
    
    # Finding length of the list
    length = len(list) 
    i = 0
    
    # While Loop to iterate through list
    while i < length: 
    	print(list[i]) 
    	i += 1
    
    1. Tham số này được sử dụng để cung cấp giá trị kết thúc của mảng
  • # Program to loop through the list using while loop
    list = [9, 11, 13, 15, 17, 19] 
    
    # Finding length of the list
    length = len(list) 
    i = 0
    
    # While Loop to iterate through list
    while i < length: 
    	print(list[i]) 
    	i += 1
    
    2. Nó cung cấp sự khác biệt giữa mỗi số nguyên mảng từ chuỗi được tạo

ví dụ

Hãy xem các cách khác nhau để lặp qua danh sách bằng cách sử dụng mô-đun numpy

ví dụ 1

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
1

đầu ra

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
2

Giải trình

Trong ví dụ trên, 1 chương trình np. arange(10) tạo một dãy số nguyên từ 0 đến 9 và lưu trữ nó trong biến x. Sau đó, chúng ta phải chạy vòng lặp for và sử dụng vòng lặp for và np này. nditer(x) chúng ta sẽ lần lượt duyệt qua từng phần tử của danh sách

ví dụ 2

Trong ví dụ này, chúng tôi sẽ lặp lại một mảng 2d bằng cách sử dụng mô-đun numpy. Để đạt được mục tiêu của chúng tôi, chúng tôi cần ba chức năng ở đây

  1. cục mịch. sắp xếp()
  2. cục mịch. định hình lại()
  3. cục mịch. tiếng kêu ()

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
0

đầu ra

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
1

Giải trình

Hầu hết các phần của ví dụ này tương tự như ví dụ đầu tiên của chúng tôi ngoại trừ chúng tôi đã thêm một chức năng bổ sung đó là numpy. định hình lại(). các numpy. hàm reshape() thường được sử dụng để tạo hình dạng cho mảng hoặc danh sách của chúng ta. Về cơ bản trong ngôn ngữ giáo dân, nó chuyển đổi kích thước của mảng giống như trong ví dụ này, chúng tôi đã sử dụng hàm định hình lại () để biến mảng numpy thành mảng 2D

Phổ biến bây giờ

Sử dụng hàm create_api() của Pycaret để tạo API học máy

4. Lặp qua danh sách trong Python bằng phương pháp liệt kê

Cách thứ tư trong danh sách của chúng ta là lặp bằng phương pháp liệt kê. Nếu bạn không biết liệt kê chính xác làm gì trong python, thì hãy để tôi giải thích cho bạn.
Phương thức liệt kê() thêm bộ đếm vào một lần lặp và trả về nó. Và bất kể phương thức liệt kê nào trả về, nó sẽ là một đối tượng liệt kê.

Ưu điểm chính của việc sử dụng phương thức liệt kê là bạn có thể chuyển đổi các đối tượng liệt kê thành danh sách và bộ bằng cách sử dụng phương thức list() và tuple() tương ứng

cú pháp

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
2

Phương thức

# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1
3 có hai tham số

  • iterable – một trình tự, một trình lặp hoặc một đối tượng
  • bắt đầu (không bắt buộc) – bắt đầu đếm từ số này. Nếu bắt đầu bị bỏ qua, 
    # Program to loop through the list using while loop
    list = [9, 11, 13, 15, 17, 19] 
    
    # Finding length of the list
    length = len(list) 
    i = 0
    
    # While Loop to iterate through list
    while i < length: 
    	print(list[i]) 
    	i += 1
    
    4 được coi là 
    # Program to loop through the list using while loop
    list = [9, 11, 13, 15, 17, 19] 
    
    # Finding length of the list
    length = len(list) 
    i = 0
    
    # While Loop to iterate through list
    while i < length: 
    	print(list[i]) 
    	i += 1
    
    0

Thí dụ

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
3

đầu ra

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
4

Giải trình

Ở đây theo cách này để lặp lại danh sách, chúng tôi đã sử dụng phương pháp liệt kê. Đầu tiên chúng ta đã khởi tạo và tạo một danh sách. Danh sách chứa bảy phần tử trong đó. Sau khi tạo danh sách, chúng tôi đang sử dụng vòng lặp for ở đây để lặp qua từng phần tử của danh sách. Biến 'i' ở đây dùng để đếm số lần vòng lặp được thực thi. Hàm liệt kê (danh sách) ở đây sẽ lặp qua từng phần tử trong danh sách và cũng in số bao gồm chỉ số của từng phần tử

Ngoài ra, hãy đọc. 6 cách dễ dàng để lặp qua tập hợp trong Python

5. Lặp lại danh sách trong Python bằng cách sử dụng tính năng hiểu danh sách

Trong phương pháp lặp này, chúng ta sẽ sử dụng cách hiểu danh sách. Khả năng hiểu danh sách được sử dụng để tạo chức năng mạnh mẽ trong một dòng mã

cú pháp

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
5

Việc hiểu danh sách thường bao gồm ba tham số

  • sự diễn đạt. Chính thành viên, lệnh gọi phương thức hoặc bất kỳ biểu thức hợp lệ nào khác trả về giá trị
  • mục . Đó là đối tượng hoặc giá trị trong danh sách hoặc có thể lặp lại
  • danh sách/có thể lặp lại. Nó là một danh sách, tập hợp, trình tự, trình tạo hoặc bất kỳ đối tượng nào khác có thể trả về từng phần tử của nó cùng một lúc

Thí dụ

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
6

đầu ra

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
7

Giải trình

Đây là cách Pythonic nhất để lặp qua danh sách, vì Python bao gồm các công cụ đơn giản, mạnh mẽ mà bạn có thể sử dụng trong nhiều tình huống khác nhau. Ở đây trong ví dụ này, print(i) là biểu thức. Chữ 'i' thứ hai là mục, là giá trị của iterable. Và cuối cùng là iterable, trong ví dụ trên iterable chính là danh sách

6. Lặp lại danh sách trong Python bằng vòng lặp và phạm vi

Phương pháp thứ sáu để lặp qua danh sách là sử dụng Phạm vi và bất kỳ vòng lặp nào trong Python. Phương thức phạm vi có thể được sử dụng như một sự kết hợp với vòng lặp for để duyệt và lặp qua danh sách. Hàm 

# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1
6 trả về một chuỗi các chữ số, bắt đầu từ 0 (mặc định) và theo mặc định tăng thêm 1 và dừng trước một số đã chỉ định

cú pháp

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
8bắt đầu(Tùy chọn). Con số cụ thể để bắt đầu. Mặc định là 0stop(Bắt buộc). Một số chỉ định vị trí dừng (không bao gồm). bước (Tùy chọn). bước được sử dụng để chỉ định mức tăng. Mặc định là 1

Ghi chú. Phương thức phạm vi không bao gồm số dừng trong chuỗi kết quả

Thí dụ

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
9

đầu ra

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
7

Giải trình

Ở đây trong ví dụ trên, đầu tiên chúng ta đã khởi tạo và tạo một danh sách với các phần tử [10, 20, 30, 40, 50, 60, 70]. Sau đó, chúng tôi đã tìm thấy độ dài của danh sách bằng hàm len. Danh sách độ dài là 7, vì vậy bây giờ giá trị của biến độ dài là 7

Bây giờ, phần lặp đến đây chúng ta đang sử dụng vòng lặp for kết hợp với hàm phạm vi. Trong ví dụ trên, đối số độ dài trong hàm phạm vi là tham số dừng. Giá trị của độ dài ở đây là 7, vì vậy vòng lặp sẽ chạy từ 0-6, vì chúng ta đã biết giá trị dừng bị loại trừ khi sử dụng hàm phạm vi

xu hướng

Hướng dẫn cơ bản về Python __all__

7. Lặp lại danh sách trong Python bằng Map và Lambda

Hàm lambda là một hàm ẩn danh trong Python. Với sự trợ giúp của hàm lambda, chúng ta có thể lấy n số đối số, nhưng sẽ chỉ có một biểu thức. Sức mạnh của lambda được thể hiện rõ hơn khi bạn sử dụng chúng như một chức năng ẩn danh bên trong một chức năng khác

Hàm 

# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1
7 thực thi hàm đã chỉ định trong một lần lặp

cú pháp

Cú pháp Lambda

9
11
13
15
17
19
1

Tại đây biểu thức sẽ thực thi và kết quả sẽ được trả về.
đối số. có thể có n đối số số.

Cú pháp của hàm map()

9
11
13
15
17
19
2chức năngBắt buộc. iterableBắt buộc. Trình tự của danh sách, bộ sưu tập hoặc đối tượng lặp

Thí dụ

9
11
13
15
17
19
3

đầu ra

9
11
13
15
17
19
4

Giải trình

Trong ví dụ trên, chúng tôi đã sử dụng kết hợp hàm lambda và map để lặp lại danh sách. đây lambda y. y được cung cấp làm hàm đầu vào và 'n' là đối số thứ hai của hàm map(). Vì vậy, hàm map() sẽ chuyển mọi phần tử của n đến lambda y. hàm y và trả về các phần tử

8. Lặp lại danh sách trong Python bằng cách sử dụng zip()

Nếu bạn muốn lặp qua hai danh sách đồng thời, bạn có thể sử dụng phương thức zip() trong Python. Vì vậy chức năng zip() thực hiện là nó tạo ra một trình lặp sẽ tổng hợp các phần tử từ hai hoặc nhiều lần lặp.  

Hàm zip() trong Python tạo một đối tượng zip, là một trình lặp của các bộ dữ liệu

cú pháp

9
11
13
15
17
19
5iterator1, iterator2, iterator3 …Các đối tượng iterator sẽ được nối với nhau

Thí dụ

9
11
13
15
17
19
6

đầu ra

9
11
13
15
17
19
7

Giải trình

Trong ví dụ trên, chúng tôi lặp qua chuỗi bộ dữ liệu được trả về bởi 

# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1
8 và giải nén các phần tử thành a và 
# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1
9. Các tham số của hàm zipping() trong trường hợp này là (num, daypart) và chúng sẽ được tổng hợp lại với nhau

Khi bạn kết hợp 

# Program to loop through the list using while loop
list = [9, 11, 13, 15, 17, 19] 

# Finding length of the list
length = len(list) 
i = 0

# While Loop to iterate through list
while i < length: 
	print(list[i]) 
	i += 1
8, 
9
11
13
15
17
19
1 Vòng lặp và giải nén bộ dữ liệu, bạn có thể duyệt qua hai hoặc nhiều vòng lặp trở lên cùng một lúc

Phổ biến bây giờ

Mọi thứ về Python SortedDict

9. Lặp qua danh sách trong Python bằng cách sử dụng Iterator – Iter() và Next()

Để lặp lại một danh sách bằng cách sử dụng các trình vòng lặp trong python, chúng ta sẽ sử dụng các phương thức __iter()__ và __next()__. Trong Python, __iter__() và __next__() được gọi chung là giao thức lặp

Các trình vòng lặp thường được triển khai trong các vòng lặp, khả năng hiểu, trình tạo, v.v. Chúng chỉ đơn giản là một đối tượng có thể được lặp lại (mỗi lần một phần tử). Bên trong, vòng lặp for tạo một đối tượng iterator, iter_obj bằng cách gọi iter() trên iterable

cú pháp

Cú pháp của hàm __iter()__

9
11
13
15
17
19
8

Ở đây, iterable có thể là một danh sách, bộ, chuỗi, v.v. Hàm 

9
11
13
15
17
19
2 (gọi phương thức 
9
11
13
15
17
19
3 ) trả về một trình vòng lặp

Cú pháp của hàm __next()__

9
11
13
15
17
19
9

Tiếp theo (Iter_obj) giống như obj. tiếp theo(). Ở đây iter_obj có thể là bất kỳ đối tượng lặp nào được tạo bởi hàm iter()

Thí dụ

while(condition_to_be_checked) :
    Statement
        UpdationExpression
0

đầu ra

# Program to iterate through list using for loop 
list = [9, 11, 13, 15, 17, 19] 

# For Loop to iterate through list
for i in list: 
	print(i) 
7

Giải trình

Trong ví dụ trên, trước tiên, chúng tôi đã tạo một (danh sách) có thể lặp lại với các phần tử [10, 20, 30, 40, 50, 60, 70]. Sau đó, chúng tôi nhận được một trình vòng lặp bằng cách sử dụng hàm iter() và lưu trữ nó trong biến iter_obj. Sau đó, chúng ta đã khởi tạo một vòng lặp while vô hạn và sử dụng hàm next() để lặp qua tất cả các mục của một trình vòng lặp. Khi chúng tôi kết thúc và không còn dữ liệu nào được trả về, nó sẽ tăng ngoại lệ StopIteration

Bên trong, vòng lặp 

9
11
13
15
17
19
1 tạo đối tượng lặp, 
9
11
13
15
17
19
5 bằng cách gọi 
9
11
13
15
17
19
2 trên vòng lặp. Nhưng trong thực tế, vòng lặp
9
11
13
15
17
19
1 thực sự là một vòng lặp vô hạn trong khi

10. Lặp lại danh sách trong Python bằng Itertools. Xe đạp

Itertools là một thư viện tạo các trình vòng lặp hiệu quả. Các vòng lặp này hoạt động nhanh hơn vòng lặp bình thường. Trong phần này, chúng tôi sẽ sử dụng itertools. chu kỳ để thực hiện một phép lặp thông qua danh sách. Hàm chu trình này trả về trình vòng lặp vô hạn lặp đi lặp lại danh sách. Chúng tôi sẽ định cấu hình điều này để chỉ lặp lại một lần

cú pháp

while(condition_to_be_checked) :
    Statement
        UpdationExpression
2

Ở đây, iterable có thể là một danh sách, bộ, chuỗi, v.v. Phương thức 

9
11
13
15
17
19
8 trả về một trình vòng lặp vô hạn

Thí dụ

while(condition_to_be_checked) :
    Statement
        UpdationExpression
3

đầu ra

while(condition_to_be_checked) :
    Statement
        UpdationExpression
4

Giải trình

Trong ví dụ trên, trước tiên chúng tôi đã nhập itertools. Sau đó, chúng tôi đã sử dụng phương pháp

9
11
13
15
17
19
8 để tạo một trình vòng lặp vô hạn. Sau đó, chúng tôi giới hạn số lần chúng tôi lặp qua trình vòng lặp bằng cách sử dụng số đếm. Sau đó, sử dụng vòng lặp while để lặp qua trình vòng lặp và tăng số đếm ở mỗi vòng lặp. Điều này sẽ đảm bảo trình vòng lặp của chúng ta không lặp vô hạn

itertools. chu kỳ chủ yếu được sử dụng để tạo một trình vòng lặp vô hạn. Điều này rất hữu ích trong các trường hợp bạn phải tạo một vòng lặp vô hạn mà không cần sử dụng một khoảng thời gian.

xu hướng

[Đã sửa] ModuleNotFoundError. Không có mô-đun nào được đặt tên là Pycocotools

11. Lặp qua danh sách trong Python bằng Itertools Grouper

Trong phần này, sử dụng itertools. zip_longest để tạo cá mú. Grouper là chức năng mà chúng ta có thể sử dụng để nhóm các phần tử của danh sách và lặp qua chúng. Điều này có thể hữu ích nếu bạn muốn lặp lại 2-3 mục cho mỗi đợt lặp lại của mình

cú pháp

while(condition_to_be_checked) :
    Statement
        UpdationExpression
5iterable_objBắt buộc. Trình tự của danh sách, bộ sưu tập hoặc đối tượng lặp. tính bắt buộc. Số lượng phần tử để nhóm mỗi đợt. fillvalueTùy chọn. Điền giá trị để điền vào lô nếu trình lặp đã hoàn thành trước khi điền vào lô

Thí dụ

while(condition_to_be_checked) :
    Statement
        UpdationExpression
6

đầu ra

while(condition_to_be_checked) :
    Statement
        UpdationExpression
7

Giải trình

Trong ví dụ này, trước tiên chúng tôi đã nhập mô-đun zip_longest từ itertools.

for val in np.nditer(numpy_array):
	Statemnet
0 là một phương thức tổng hợp các phần tử từ mỗi lần lặp. Sau đó, chúng ta tạo một hàm gọi là grouper. Hàm này lấy iterable làm đối số và số phần tử để nhóm lại với nhau. Trong trường hợp này, vì chúng tôi muốn lặp qua danh sách, chúng tôi sẽ giữ giá trị của đếm thành 1. Đối số thứ 3 là fillvalue, đối số này được sử dụng để điền vào các giá trị còn lại nếu lô nhỏ hơn số lượng.
Sau đó, chúng ta sẽ gọi hàm grouper get iterable. Chúng tôi sẽ lặp qua trình vòng lặp này để lấy các phần tử riêng lẻ từ danh sách.

Ghi chú. Hãy nhớ giải nén phần tử bằng cách sử dụng * vì zip_longest trả về bộ lặp của bộ dữ liệu

Python lặp qua danh sách và xóa các mục

Hiểu danh sách là cách tốt nhất để lặp qua danh sách và xóa các mục. Bạn có thể thêm câu lệnh if nội tuyến để lọc ra nội dung cần thiết của mình. Ví dụ sau đây sẽ giúp bạn hiểu nó -

while(condition_to_be_checked) :
    Statement
        UpdationExpression
8

Đầu ra –

while(condition_to_be_checked) :
    Statement
        UpdationExpression
9

câu hỏi thường gặp

Làm thế nào để bạn lặp qua một danh sách không có vòng lặp trong Python?

Có nhiều phương pháp khác nhau như bản đồ, tham gia, hiểu danh sách, v.v. để lặp lại mà không có vòng lặp tùy thuộc vào trường hợp sử dụng của bạn

Làm thế nào để bạn lặp qua một danh sách trong Python trong một dòng?

Sử dụng khả năng hiểu danh sách để lặp qua danh sách trong một dòng và tạo một danh sách mới

Phần kết luận. Python lặp qua danh sách

Vì vậy, nếu bạn hoàn thành đến cùng, tôi khá chắc chắn rằng bây giờ bạn có thể hiểu tất cả các cách có thể để lặp qua danh sách trong Python. Cách tốt nhất có thể để Python lặp qua danh sách tùy thuộc vào nhu cầu của bạn và loại dự án bạn đang thực hiện. Tôi nghĩ bạn cũng có thể muốn biết các cách trong Python để sắp xếp danh sách danh sách. Nếu có, có một hướng dẫn tuyệt vời có sẵn trong thư viện hướng dẫn của chúng tôi, hãy xem thử

Vẫn còn bất kỳ nghi ngờ hoặc câu hỏi nào, hãy cho tôi biết trong phần bình luận bên dưới. Tôi sẽ cố gắng giúp bạn trong thời gian sớm nhất

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

Cái nào lặp nhanh hơn thông qua set hoặc list Python?

Việc lặp lại một Danh sách nhanh hơn nhiều so với việc lặp lại một tập hợp .

Loại vòng lặp nào hiệu quả nhất để lặp qua danh sách?

Tôi sẽ đề xuất vòng lặp foreach .

Làm cách nào để lặp lại danh sách không có vòng lặp trong Python?

Phương thức liệt kê Python() để lặp lại danh sách Python. Hàm enumerate() của Python có thể được sử dụng để lặp lại danh sách theo cách tối ưu hóa. Hàm enumerate() thêm một bộ đếm vào danh sách hoặc bất kỳ lần lặp nào khác và trả về nó dưới dạng một đối tượng liệt kê bởi hàm.