列表后移问题
列表后移問(wèn)題
問(wèn)題描述:有n個(gè)整數(shù),使其前面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù)
問(wèn)題分析:解決這個(gè)問(wèn)題的關(guān)鍵在于對(duì)列表結(jié)構(gòu)的理解,對(duì)元素進(jìn)行移位操作。一方面,可以從列表元素出發(fā),先把最后m個(gè)元素打印出來(lái),再將前面(n-m)個(gè)元素打印出來(lái)。另一個(gè)思路是從列表結(jié)構(gòu)出發(fā),先將后m個(gè)元素彈出,再插入列表的前m個(gè)位置。
代碼如下:
或者
a=[10,9,8,7,6,5,4,3,2,1] #測(cè)試案例 m=int(input("請(qǐng)輸入要移動(dòng)的位數(shù):")) if (m>len(a)):print("移動(dòng)的位數(shù)超出列表長(zhǎng)度!") for _ in range(m):a.insert(0,a.pop()) #先將后m個(gè)元素彈出,再插入列表的前m個(gè)位置 print(a)總結(jié)
- 上一篇: 机器学习 | 目录(持续更新)
- 下一篇: 监督学习 | CART 分类回归树原理