仅反转文件中的数字

时间:2019-05-20 02:49:07

标签: python file reverse enumerate

我该如何只反转数字而不是其中的文字?

datas.txt
Bungo Charlie
Bungo Echo
Bungo Bravo
Bungo Tango
Bungo Alpha
with open('datas.txt', 'r') as f:
    for i, line in enumerate(f):
        print('{}. {}'.format(i+1, line.strip()))

期望:

5. Bungo Charlie
4. Bungo Echo
3. Bungo Bravo
2. Bungo Tango
1. Bungo Alpha

我得到了什么:

1. Bungo Charlie
2. Bungo Echo
3. Bungo Bravo
4. Bungo Tango
5. Bungo Alpha

1 个答案:

答案 0 :(得分:0)

仅使用reversed()函数将撤销所有操作:

for i, line in reversed(list(enumerate(f))

如果您只想反转数字,则可以像这样:

reversed(list(enumerate(reversed(f))))

如果您想要更清洁的东西,可以使用zip()定义一个函数:

def reverse_enumerate(x):
    return zip(reversed(range(len(x))), reversed(x))