利用列表來模擬堆疊。什麼是堆疊?堆疊是一種執行」後進先出」演算法的資料結構。在這裡利用列表來模擬堆疊。
def
push
(char1, l):
l.insert(0, char1)
print(l)
defpop
(y, l):
if len(l) == 0:
print('cannot pop from an empty list!')
else:
for i in range(int(y)):
delete = l.pop(i-i)
print(delete)
l =
char = input('請輸入要測試的字串: ')
for i in range(len(char)):
char1 = char[i]
push(char1, l)
for i, album in enumerate(l):
print(i, album)
y = input('請輸入想刪除的字母的個數: ')
pop(y, l)
print('經過刪除後的列表為: ', l)
在這裡需要注意幾點。首先是在插入時利用了l.insert(0, char1),為什麼要這樣用。我們知道堆疊是」後進先出」即」先進後出」因此最先出現的字母我們要把它放到後面,對於新來的字母我們利用l.insert(0, char1)把它放到列表的最前面。其次,在刪除元素時要注意元素的下標,因為我們要刪除列表中最前面的字母即下標為0的字母。因此我們在刪除中要用delete= l.pop(i-i)在這裡的迴圈中的i只能用來控制次數,不能當做下標!為什麼?因為i開始等於0所以說我們第一次刪除的時列表中最前面的元素,單進行第二次迴圈時i=1,此時刪除的並不是最前面的元素而是最前面元素的後乙個元素。因此要用i-i控制下。
請輸入要測試的字串: abcd
['a']
['b', 'a']
['c', 'b', 'a']
['d', 'c', 'b', 'a']
0 d1 c
2 b3 a
請輸入想刪除的字母的個數: 4dc
ba經過刪除後的列表為:
請輸入要測試的字串: abcd
['a']
['b', 'a']
['c', 'b', 'a']
['d', 'c', 'b', 'a']
0 d1 c
2 b3 a
請輸入想刪除的字母的個數: 2dc
經過刪除後的列表為: ['b', 'a']
python一道關於字典的題
建立字典。給定兩個長度相同的列表,比如說,列表 1,2,3,和 abc def ghi 用這兩個列表裡的所有資料組成乙個字典,像這樣 在這裡要用到dict.setdefault key,default 這個函式如果key在dict內部會返回key所對應的value,key不在dict內部會在dict...
關於Python列表的一道題
題目 list1 1,2,3,4 怎麼做才能得到 2,3,4 1,3,4 1,2,4 1,2,3 最近在學習python,今天學習了python中的列表,於是上csdn上看看相關的帖子和學習心得。於是瀏覽到了這篇帖子 list.index 方法詳解 在這篇帖子的最後,作者留了一道題目,也就是標題看到...
python一道關於檔案操作的題
這道題是python核心程式設計裡面的題,改編了一下 因為我只實現了一部分 不同的url有不同的字尾例如.com和.cn對於不同的字尾我們要把url存到不同的合法且正確的html檔案中。首先要先解決把不同的url存到不同的檔案中。這裡要用到os模組。我們要改變當前工作目錄,把目錄設定為你想要進行操作...