× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Cách giảm Python cho vòng lặp

13/01/2023 01:28

Bạn có biết cách giảm trong Python không? Dễ thôi! Bạn có thể làm điều đó với một vòng lặp for đơn giản và T3H sẽ chỉ cho bạn cách thực hiện.

Không giống như các ngôn ngữ lập trình khác (chẳng hạn như C++) Python không có toán tử giảm dần (tức là tương tự như --trong C++). Trong Python, chúng ta nêu điểm bắt đầu và kết thúc của lần lặp với số bước ở giữa.

Không giống như các ngôn ngữ lập trình khác (chẳng hạn như C++) Python không có toán tử giảm dần (tức là tương tự như --trong C++). Trong Python, chúng tôi nêu điểm bắt đầu và kết thúc của lần lặp với số bước ở giữa.

>>> for i in range(10):
... print(i)
0
1
2
3
4
5
6
7
8
9

 

Chúng tôi vừa tăng thành công! Nhưng làm thế nào để chúng ta giảm? Nói cách khác, làm thế nào chúng ta có thể in 9, 8, 7, 6, 5, 4, 3, 2, 1, 0?

Nếu bạn không biết, có thể là do bạn chưa quen với cú pháp đầy đủ của range()phương thức. THEO TÀI LIỆU PYTHON , cú pháp của nó như sau:

range(start, end, step):

Nếu chúng ta chỉ xác định một giá trị, theo mặc định, đó là tham số kết thúc. Các starttham số và bước là tùy chọn; chúng mặc định là 0và 1, tương ứng. Cú pháp trên tương đương với cách viết:

>>> for i in range(0, 10, 1):
... print(i)
0
1
2
3
4
5
6
7
8
9

Tiếp theo, hãy khám phá cách sử dụng kiến ​​thức này để giảm forvòng lặp Python.

Giảm Python cho Vòng lặp với phạm vi ()

Ví dụ trước cung cấp một số thông tin chi tiết về cách giảm trong vòng lặp Python forrange() bằng cách sử dụng . Chúng ta có thể áp dụng nó một cách đơn giản bằng cách đặt tham số startand endsao cho end < startand có stepgiá trị âm. Hãy cố gắng!

>>> for i in range(9, -1, -1):
... print(i)
 
9
8
7
6
5
4
3
2
1
0

Và ở đây chúng tôi đi! Chúng tôi có chính xác vòng lặp tương tự như trên, nhưng theo thứ tự ngược lại. Tham startsố được đặt thành 9vì đó là giá trị đầu tiên chúng tôi muốn nhận. Được đặt endthành -1vì giá trị cuối luôn bị loại trừ; ở đây, giá trị cuối cùng chúng tôi muốn in là 0. Cuối cùng, step=-1vì đó là sự khác biệt giữa mỗi số chúng tôi muốn nhận và số trước đó (ví dụ: 8 - 9 = -1, 2 - 3 = -1, v.v.)

Chúng ta cũng có thể đặt tham số bước thành một số giá trị khác (như -3) và vòng lặp for sẽ giảm đi 3thay vì 1. Hãy sửa đổi ví dụ trước và đưa ra kết quả:

>>> for i in range(9, -1, -3):
... print(i)
...
9
6
3
0

Giảm Python cho Vòng lặp với đảo ngược () và đảo ngược ()

HÀM ĐẢO NGƯỢC() của Python sẽ đảo ngược một danh sách mà không sửa đổi nó. Do đó, nếu chúng ta muốn giảm forvòng lặp Python, chúng ta có thể bọc một danh sách bằng reversed()hàm. Hãy thử với một danh sách số đơn giản:

>>> a = [158]
>>> for in reversed(a):
... print(i)
...
8
5
1

Và danh sách của chúng tôi được in theo thứ tự đảo ngược. Tuy nhiên, cần lưu ý rằng chức reversed()năng này không sửa đổi danh sách . Nói cách khác, nếu chúng ta in biến a, chúng ta sẽ nhận được cùng một danh sách ban đầu.

>>> print(a)
[158]

Mặt khác, nếu chúng ta sử dụng phương thức REVERSE() , chúng ta sẽ sửa đổi danh sách. Chúng ta sẽ không cần sử dụng reversed()hàm này nữa trong vòng lặp for , nhưng danh sách sẽ vẫn bị đảo ngược. Vì vậy, nếu bạn muốn giữ nguyên danh sách ban đầu, bạn nên sử dụng reversed().

>>> a = [138]
>>> a.reverse()
>>> for in a:
... print(i)
...
8
3
1

Bây giờ biến alà [8, 3, 1](nó bị đảo ngược). Tất nhiên, bạn luôn có thể đảo ngược nó một lần nữa.

Ngoài ra còn có các cách khác để giảm trong Python – ví dụ như sử dụng whilethuộc tính vòng lặp hoặc danh sách – nhưng tôi sẽ không đề cập đến chúng ở đây. N