每天一習題,提升Python不是問題!!有更簡潔的寫法請評論告知我!
https://www.cnblogs.com/poloyy/category/1676599.html
題目
如果有一個列表a=[1,3,5,7,11] 問題:1如何讓它反轉成[11,7,5,3,1] 2.取到奇數位值的數字,如[1,5,11]
解題思路
問題一:非算法方案
直接調用內置函數或切片
問題一:算法方案
- for循環,循環次數取列表長度的一半
- 頭尾對稱位置的值互換
問題二
切片,設置步長
答案
""" 如果有一個列表a=[1,3,5,7,11] 問題:1如何讓它反轉成[11,7,5,3,1] """ # 非算法方案一 a = [1, 3, 5, 7, 11] a = a[::-1] print(a) # 非算法方案二 a = [1, 3, 5, 7, 11] a.reverse() print(a) # 算法 a = [1, 3, 5, 7, 11] lens = len(a) for i in range(0, int(lens / 2)): a[i], a[lens - i - 1] = a[lens - i - 1], a[i] print(a) """ 如果有一個列表a=[1,3,5,7,11] 問題:2.取到奇數位值的數字,如[1,5,11] """ a = [1, 3, 5, 7, 11] a = a[::2] print(a)