首页 > 解决方案 > 负索引和切片 Python

问题描述

长期读者第一次海报,永远。

我试图了解所有关于索引、切片、负索引等的列表。

如果我有一个清单:

toeFriendly_terms=['feet', 'shoes', 'socks', 'sandals', 'boots', 'toe rings']

问 1:我想反向打印()这个列表。

问:是否可以使用负索引来执行此操作? 问:如果是这样,怎么办? 问:如果不是,那么正确的方法是什么? 问:如果你能做到,但有更好的方法,你怎么做?

问 2:我在这里环顾四周,发现了 .reverse() 函数,但这引发了更多问题。

names=['fanny', 'david', 'jimmy', 'hwang', 'esther']
#first three - fanny, david and jimmy
print('1. ', names[0:3])#stops right before 3 to give just what you need
#last three 
print('2. ', names[2:])#did not designate an end because I wanted all of it to come through
print('3. ', names[:-1]) #calls right up to before -1 
names2=names.reverse() #still affects the original list
print('4. ',names )


问:有什么方法可以保留原始列表,这样反向功能就不会影响我对列表所做的任何其他工作?(我很新,所以我仍然不完全理解如果只是复制列表更容易或更有效..)

问:.reverse() 有哪些现实世界的“在职”应用程序?

谢谢!这就是现在的全部。

标签: pythonlistindexingreverse

解决方案


你是对的,调用some_list.reverse()改变了原始列表,你可能期望或不期望(如果没有,请继续阅读)。

您可以使用切片来反转列表,如下所示some_list[::-1]

请注意,总是有reversed()返回迭代器的方法。如果你想一次得到所有反转的列表,你可以(惊喜)把它变成一个列表:list(reversed(some_list)).


推荐阅读