letters = ['a', 'b', 'c']
假设这是我的清单。 for i, letter in enumerate(letters)
将在哪里:
0, a
1, b
2, c
我怎样才能让它向后枚举,如:
2, a
1, b
0, c
答案 0 :(得分:2)
试试这个:
letters = ['a', 'b', 'c']
for i, letter in reversed(list(enumerate(reversed(letters)))):
print(i, letter)
输出:
2 a
1 b
0 c
答案 1 :(得分:1)
我会首先尝试制作一个反向列表,然后你可以使用enumerate()
letters = ['a', 'b', 'c']
letters.reverse()
for i, letter in enumerate(letters)
答案 2 :(得分:1)
这是一个很好的解决方案,可以完美运行:
#include "include/startpage.h"
#include <iostream>
#include <conio.h>
#include "include/concol.h"
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
startpage();
}
```
以下是上述代码段的输出:
Error code: C3861: 'startpage' identifier not found
以下代码段中发生的事情是
items = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
for idx, item in enumerate(items, start=-len(items)):
print(f"reverse index for {item}: {abs(idx)}")
的{{1}} arg被赋予负值。 reverse index for a: 7
reverse index for b: 6
reverse index for c: 5
reverse index for d: 4
reverse index for e: 3
reverse index for f: 2
reverse index for g: 1
始终向前迈进了一步。 enumerate
上使用start
来找到绝对值,该值始终为正。答案 3 :(得分:0)
tl; dr:size - index - 1
我假设您要问的问题是,当项目相同时,您是否可以反转索引,例如,当a实际上具有索引时,a的排序编号为2 0.
要计算这一点,请考虑数组或列表中的每个元素都希望项目的索引具有相同的&#34;距离&#34; (索引方面)从集合的末尾。计算这个给你大小 - 索引。
然而,许多编程语言启动索引为0的数组。因此,我们需要减去1才能使索引正确对应。考虑我们的最后一个元素,索引大小为1.在我们原始的等式中,我们得到size - (size - 1),它等于size - size + 1,等于1.因此,我们需要减去1.
最终等式(对于每个元素):size - index - 1
答案 4 :(得分:0)
zip函数为两个参数列表创建了元素对的列表。
list(zip([i for i in range(len(letters))][::-1], letters))
答案 5 :(得分:0)
letters = ['a', 'b', 'c']
for i, letter in zip(range(len(letters)-1, -1, -1), letters):
print(i, letter)
打印
2 a
1 b
0 c
答案 6 :(得分:0)
试试这个:
number,number plus 2,number times 2
country1,dest1,0
country3,dest3,1
country2,dest2,2
country5,dest5,3
country4,dest4,4
答案 7 :(得分:0)
我们可以定义效用函数(在 Python3.3 + 中)
from itertools import count
def enumerate_ext(iterable, start=0, step=1):
indices = count(start, step)
yield from zip(indices, iterable)
直接使用
letters = ['a', 'b', 'c']
for index, letter in enumerate_ext(letters,
start=len(letters) - 1,
step=-1):
print(index, letter)
或写帮助者
def reverse_enumerate(sequence):
yield from enumerate_ext(sequence,
start=len(sequence) - 1,
step=-1)
并像
一样使用它for index, letter in reverse_enumerate(letters):
print(index, letter)