本章講述用python編寫【list列表反轉】的5種方法
"""
匯總曾經被問到過的算法題
一、列表反轉問題,五種方法:
1、reverse
2、reversed(list)
3、切片
4、sort()
5、sorted(list)
"""
import sys
a_list = [1, 2, 3, 4, 'abc', 'ee']
def reverse_sort1():
"""
一、list排序反轉:
方法1、使用reverse()方法反轉
:return:
"""
print("原來的list:", a_list)
list.reverse()
print("轉換後的list:", a_list)
def reverse_sort2():
"""
一、list排序反轉:
方法2、使用內置函數reversed(list)
注意:這樣拿到的是一個迭代器,而非一個list,所以需要list進行轉換一下
:return:
"""
after_list = reversed(a_list)
print("列表反轉結果(迭代對象):", after_list)
print("列表反轉結果轉換成列表:", list(a_list))
def reverse_sort3():
"""
一、list排序反轉:
方法3、使用【切片】
list [ start: end : step]
- start 表示起始位置,省略時表示包含end之前的所有元素
- end 表示終止位置(不包括end),省略時表示包含start的所有元素
- step 步長,默認為1,正數是索引從左到右,負數是從右到左
:return:
"""
after_list = a_list[::-1]
print("切片轉換後的list:", after_list)
def reverse_sort4():
"""
一、list排序反轉:
方法4、使用【sort()方法】
注意:只能排序list中全部都是同種類型的情況
:return:
"""
a_list = [1, 2, 3, 6, 8, 9, 12]
# a_list = [1, 2, 3, 6, 8, 9, 12, 'aaa']
# a_list = ['aaa', 'aa', 'a']
a_list.sort(reverse=True)
print("sort轉換後的list:", a_list)
def reverse_sort5():
"""
一、list排序反轉:
方法5、使用【sorted()方法】
注意:只能排序list中全部都是同種類型的情況
:return:
"""
a_list = [1, 2, 3, 6, 8, 9, 12]
# a_list = [1, 2, 3, 6, 8, 9, 12, 'aaa']
after_list = sorted(a_list, reverse=True)
print("sort轉換後的list:", after_list)
if __name__ == '__main__':
reverse_sort1()
# reverse_sort2()
# reverse_sort3()
# reverse_sort4()
# reverse_sort5()