Skip to main content
 首页 » 编程设计

Python:循环从最后一项开始并以第一个结束

2025年05月04日16luoye11

是否有任何“Pythonic 方式”告诉 Python 从最后一项开始并以第一项结束在字符串(或列表)中循环?

例如单词 Hans 我希望 python 将其读取或排序为 snaH

接下来,我如何告诉 pyhon 以下内容:现在从你得到的字符串中,搜索 'a' 发现它没问题,如果你发现 'n' 跟在 'a' 之后,把 '.'在'n'之后然后打印字母的原始顺序

请您参考如下方法:

最清晰、最符合 Python 风格的方法是使用 reversed()内置。

wrong_way = [1, 2, 3, 4] 
for item in reversed(wrong_way): 
    print(item) 

给出:

4 
3 
2 
1 

这是最好的解决方案,因为它不仅会自然地生成反向迭代器,而且还可以调用专用的 __reversed__() 方法(如果存在),从而在某些对象中实现更高效的反向迭代.

您可以使用 wrong_way[::-1] 来反转列表,但这在代码中的可读性要差得多,而且效率可能会降低。但是,它确实显示了列表切片的强大功能。

请注意 reversed() 提供迭代器,因此如果您想对字符串执行此操作,则需要将结果转换回字符串,幸运的是这很容易,就像您所做的那样:

"".join(iterator) 

例如:

"".join(reversed(word)) 

str.join()方法采用迭代器并将每个元素连接到一个字符串中,使用调用字符串作为分隔符,因此这里我们使用空字符串将它们背靠背放置。