Nó hơi trực quan nếu bạn tái cấu trúc như một vòng lặp trong thời gian
a = [0, 1, 2, 3]
for a[-1] in a:
print[a[-1]]
trở thành
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
Vì vậy, giá trị của một thời gian là
[0, 1, 2, 3] # original
[0, 1, 2, 0] # prints 0
|--------^
[0, 1, 2, 1] # prints 1
|-----^
[0, 1, 2, 2] # prints 2
|--^
[0, 1, 2, 2] # prints 2
|^
Tương tự trong trường hợp thứ hai
for a[0] in a:
print[a[0]]
trở thành
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
Vì vậy, giá trị của một thời gian là
[0, 1, 2, 3] # original
[0, 1, 2, 3] # prints 0
^|
[1, 1, 2, 3] # prints 1
^--|
[2, 1, 2, 2] # prints 2
^-----|
[3, 1, 2, 3] # prints 3
^--------|
Một tác phẩm lý thuyết được công bố vào năm 1967 bởi nhà vật lý học Liên Xô Vicor Veselago cho thấy một chỉ số khúc xạ với các giá trị âm là có thể và điều này không vi phạm các định luật vật lý.
A for loop in python is used to iterate over elements of a sequence. It is mostly used when a code has to be repeated ‘n’ number of times. In general, for loop in python is auto-incremented by 1. What if you want to decrement the index. This can be done by using “range” function. Let’s look at it in detail.
Chỉ số tiêu cực là gì?
Chỉ số tiêu cực là gì? Các chỉ số tiêu cực là sức mạnh [còn được gọi là số mũ] với dấu trừ ở phía trước chúng. Ví dụ. x - 2. 3−4.
Example of simple range function:
for x in range[3]: print[x]
Output:
0 1 2
Chức năng của chỉ số âm là gì?
Việc lập chỉ mục tiêu cực là hành động lập chỉ mục từ cuối danh sách với việc lập chỉ mục bắt đầu từ -1 tức là -1 đưa ra yếu tố cuối cùng của danh sách, -2 đưa ra yếu tố cuối cùng thứ hai của danh sách, v.v.
Syntax for range:
range[start index, stop index, step]
Trong hướng dẫn này, hãy để Lôi nhìn vào vòng lặp của chỉ số giảm trong Python. Một vòng lặp trong Python được sử dụng để lặp lại các phần tử của một chuỗi. Nó chủ yếu được sử dụng khi một mã phải được lặp lại số lần. Nói chung, đối với vòng lặp trong Python được tự động kích hoạt bởi 1. Điều gì sẽ xảy ra nếu bạn muốn giảm chỉ số. Điều này có thể được thực hiện bằng cách sử dụng chức năng phạm vi phạm vi. Hãy cùng nhìn vào nó một cách chi tiết.
Giảm giá trị chỉ số trong Python
Nếu người dùng muốn giảm giá trị chỉ mục bên trong cho vòng lặp thì anh ấy/cô ấy nên làm cho giá trị bước âm. Bằng cách làm cho giá trị bước âm, có thể làm giảm bộ đếm vòng lặp.
Example:
for x in range[10,0,-2]: print[x]
Output:
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
0Như được quan sát, giá trị ban đầu của x là 10 và nó tiếp tục giảm cho đến 0 với giá trị bước -2.
Sự kết luận
- Trong & nbsp; cho vòng lặp, chỉ mục theo mặc định được tăng thêm 1.
- Để giảm chỉ số trong vòng lặp, làm cho giá trị bước âm.
Hy vọng bạn có một ý tưởng về chủ đề Chỉ số giảm dần trong vòng lặp trong Python,
Cũng đọc:
- Cách thoát khỏi vòng lặp trong Python
Đưa ra một danh sách các yếu tố, tìm chỉ số tiêu cực của nó trong danh sách.
Đầu vào: test_list = [5, 7, 8, 2, 3, 5, 1], k = 2 & nbsp; đầu ra: -4 & nbsp; giải thích: 2 là phần tử thứ 4 từ phía sau. : test_list = [5, 7, 8, 2, 3, 5, 1], K = 2
Output : -4
Explanation : 2 is 4th element from rear.Đầu vào: test_list = [5, 7, 8, 2, 3, 5, 1], k = 5 & nbsp; đầu ra: -2 & nbsp; giải thích: 5 là phần tử thứ 2 từ phía sau. & Nbsp; : test_list = [5, 7, 8, 2, 3, 5, 1], K = 5
Output : -2
Explanation : 5 is 2nd element from rear.
Phương pháp số 1: Sử dụng index [] + len []index[] + len[]
Trong đó, chúng tôi nhận được chỉ mục của phần tử bằng chỉ mục [], sau đó trừ nó khỏi độ dài danh sách để có được kết quả cần thiết.
Python3
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
3a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
4 a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
5a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
6a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
7a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
8__for a[0] in a:
print[a[0]]
0for a[0] in a:
print[a[0]]
1for a[0] in a:
print[a[0]]
2 for a[0] in a:
print[a[0]]
3 for a[0] in a:
print[a[0]]
4for a[0] in a:
print[a[0]]
5for a[0] in a:
print[a[0]]
6a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
4 [0, 1, 2, 3] # original
[0, 1, 2, 0] # prints 0
|--------^
[0, 1, 2, 1] # prints 1
|-----^
[0, 1, 2, 2] # prints 2
|--^
[0, 1, 2, 2] # prints 2
|^
4for a[0] in a:
print[a[0]]
9a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
4 a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
1a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
2a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
3 a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
4for a[0] in a:
print[a[0]]
0for a[0] in a:
print[a[0]]
1a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
7 for a[0] in a:
print[a[0]]
3 for a[0] in a:
print[a[0]]
4[0, 1, 2, 3] # original
[0, 1, 2, 3] # prints 0
^|
[1, 1, 2, 3] # prints 1
^--|
[2, 1, 2, 2] # prints 2
^-----|
[3, 1, 2, 3] # prints 3
^--------|
0 Output:
Output:
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
1Phương pháp số 2: Sử dụng ~ toán tử + Danh sách cắt + Index []list slicing + index[]
Trong đó, chúng tôi đảo ngược danh sách bằng cách cắt lát và sử dụng ~ toán tử để nhận phủ định, index [] được sử dụng để có được chỉ số âm mong muốn. & Nbsp;
Python3
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
3a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
4 a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
5a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
6a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
7a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
8__for a[0] in a:
print[a[0]]
0for a[0] in a:
print[a[0]]
1for a[0] in a:
print[a[0]]
2 for a[0] in a:
print[a[0]]
3 for a[0] in a:
print[a[0]]
4for a[0] in a:
print[a[0]]
5for a[0] in a:
print[a[0]]
6a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
4 [0, 1, 2, 3] # original
[0, 1, 2, 0] # prints 0
|--------^
[0, 1, 2, 1] # prints 1
|-----^
[0, 1, 2, 2] # prints 2
|--^
[0, 1, 2, 2] # prints 2
|^
4for a[0] in a:
print[a[0]]
9a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
4 a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
1a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
2a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
3 a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
4for a[0] in a:
print[a[0]]
0for a[0] in a:
print[a[0]]
1a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[0] = e # the first element is constantly being overwritten
print[a[0]] # same as a[i]
7 for a[0] in a:
print[a[0]]
3 for a[0] in a:
print[a[0]]
4[0, 1, 2, 3] # original
[0, 1, 2, 3] # prints 0
^|
[1, 1, 2, 3] # prints 1
^--|
[2, 1, 2, 2] # prints 2
^-----|
[3, 1, 2, 3] # prints 3
^--------|
0 Output:
Output:
a = [0, 1, 2, 3]
while i < len[a]:
e = a[i]
a[-1] = e # the last element is constantly being overwritten
print[a[-1]] # same as a[i]
1