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 start
tham số và bước là tùy chọn; chúng mặc định là 0
và 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 for
vò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ố start
and end
sao cho end < start
and có step
giá 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 start
số được đặt thành 9
vì đó là giá trị đầu tiên chúng tôi muốn nhận. Được đặt end
thành -1
vì 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=-1
vì đó 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 3
thay 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 for
vò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 = [ 1 , 5 , 8 ] >>> for i 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) [ 1 , 5 , 8 ] |
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 = [ 1 , 3 , 8 ] >>> a.reverse() >>> for i in a: ... print (i) ... 8 3 1 |
Bây giờ biến a
là [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 while
thuộ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