我如何访问指数,同时在一个序列上以一个为旋转的序列?
xs = [8, 23, 45]
for x in xs:
print("item #{} = {}".format(index, x))
所需的产量:
item #1 = 8
item #2 = 23
item #3 = 45
我如何访问指数,同时在一个序列上以一个为旋转的序列?
xs = [8, 23, 45]
for x in xs:
print("item #{} = {}".format(index, x))
所需的产量:
item #1 = 8
item #2 = 23
item #3 = 45
当前回答
for i in range(len(ints)):
print(i, ints[i]) # print updated to print() in Python 3.x+
其他回答
for i in range(len(ints)):
print(i, ints[i]) # print updated to print() in Python 3.x+
它可以通过以下代码实现:
xs = [8, 23, 45]
for x, n in zip(xs, range(1, len(xs)+1)):
print("item #{} = {}".format(n, x))
在这里,范围(1, len(xs)+1);如果您预计输出将从1开始,而不是0,您需要从1开始,并将1添加到估计的总长度,因为Python开始默认地从0索引数字。
Final Output:
item #1 = 8
item #2 = 23
item #3 = 45
正如Python的标准一样,有几种方法可以做到这一点。在所有例子中,假设:lst = [1, 2, 3, 4, 5]
使用列表(被认为是最愚蠢的)
for index, element in enumerate(lst):
# Do the things that need doing here
这也是我认为最安全的选择,因为进入无限回归的机会已经消失了,项目和其指数都保持在变量中,并且没有必要写下任何额外的代码才能访问项目。
创建一个变量以保持指数(使用为)
for index in range(len(lst)): # or xrange
# you will have to write extra code to get the element
创建一个变量以保持指数(使用时)
index = 0
while index < len(lst):
# You will have to write extra code to get the element
index += 1 # escape infinite recursion
总是有另一种方式
如前所述,有其他方法来做到这一点,没有在这里解释,他们甚至可能在其他情况下更适用。
您可以使用一个变量,例如计算,以计算列表中的元素数量:
ints = [8, 23, 45, 12, 78]
count = 0
for i in ints:
count = count + 1
print('item #{} = {}'.format(count, i))
一个简单的答案,使用一段时间的旋转:
arr = [8, 23, 45, 12, 78]
i = 0
while i < len(arr):
print("Item ", i + 1, " = ", arr[i])
i += 1
出口:
Item 1 = 8
Item 2 = 23
Item 3 = 45
Item 4 = 12
Item 5 = 78