是否可以在不使用内置.reverse()函数的情况下反转列表中项目的顺序?

-2 python function file-processing

我必须编写一个程序来反转文件中单词的字母.

例如,如果文件包含以下单词:

snow   
tree
star
wreath
Run Code Online (Sandbox Code Playgroud)

它会将它们变成:

wons
eert
rats
htaerw
Run Code Online (Sandbox Code Playgroud)

完成后,我必须编写一个新文件,它将以相反的顺序写入它们,如下所示:

htaerw
rats
eert
wons
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

def reverse(string):
   #empty list for string
   word = []

   #for each letter in the string obtain the corresponding opposite number
   #first letter to last letter, second letter to second last letter, etc...

   for letter in range(len(string)-1, -1, -1):
       word.append(string[letter])

#create main() function
def main():
    #open file and read words in each line
    input_file = open("words.txt", "r")
    word_file = input_file.readlines()
    #empty list for the words in the file, after their letters have been reversed
    reversed_list = []
    for word in range(len(word_file)):
        reverse_word = reverse(word_file[word])
        reversed_list.append(reverse_word)

    #create new file of the reversed words IN REVERSED ORDER!
    reverse_file = open("reverse.txt","w")
    reverse_file.writelines(reversed_list)
    reverse_file.close()

main()
Run Code Online (Sandbox Code Playgroud)

如何在不使用内置.reverse()函数的情况下编辑主函数以反转单词的顺序?

ins*_*get 6

with open('path/to/input') as infile:
  words = []
  for line in infile:
    words.append(line.strip()[::-1])

with open('path/to/output', 'w') as outfile:
  for word in words[::-1]:
    outfile.write(word)
    outfile.write('\n')
Run Code Online (Sandbox Code Playgroud)

一个衬垫(因为我们都喜欢它们):

with open('path/to/input') as infile:
  words = [line.strip()[::-1] for line in infile]

with open('path/to/output', 'w') as outfile:
  outfile.write('\n'.join(words[::-1]))
Run Code Online (Sandbox Code Playgroud)