列表逆向排列的几种实现形式

# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
排列方向:
# ----------------------------------------------------------------------
li=[1,2,3,'a',5,6]
res=li.reverse()
print(li)
print(res)
# [6, 5, 'a', 3, 2, 1]
# None
# 直接将原列表逆向排列,在原列表基础上改,原列表发生改变
# ----------------------------------------------------------------------
li=[1,2,'a',4,5,6]
res=li[::-1]
print(li)
print(res)
# [1, 2, 'a', 4, 5, 6]
# [6, 5, 4, 'a', 2, 1]
# 对列表进行反向切片,产生一个新的逆向列表,原列表不变。
# ----------------------------------------------------------------------
#li=[1,'a',3,4,5,6]
iterator=reversed(li)
l=list(iterator)
print(li)
print(iterator)
print(l)
# [1, 'a', 3, 4, 5, 6]
# <list_reverseiterator object at 0x00000161225C8A90>
# [6, 5, 4, 3, 'a', 1]
# 通过reversed对列表进行逆向处理后变为迭代器,通过遍历该迭代器存入新列表,达到列表逆向
# 此时原列表不发生改变
# # ----------------------------------------------------------------------
# # ----------------------------------------------------------------------
排序:
li=[1,6,2,3,7,5,8]
res=sorted(li,reverse=True)
print(li)
print(res)
# [1, 6, 2, 3, 7, 5, 8]
# [8, 7, 6, 5, 3, 2, 1]
# # 用内置函数sorted对列表进行排序,默认是升序,逆序的话,将参数reverse=True就行。
# # 此方法不改变原列表,产生逆序的新列表
# ----------------------------------------------------------------------

这里的最后一种方法sorted实际上不算逆向排列了,属于排序,容易混淆,所以给出。

猜你喜欢

转载自www.cnblogs.com/oldboy2019/p/10658252.html
今日推荐