Python stack() 函式介紹
Python 中的 stack() 函式可以將一個可迭代的物件轉換成一個堆疊(stack),堆疊是一種先進後出(First In Last Out,FILO)的資料結構,可以用來儲存資料。
stack() 函式的語法如下:
stack(iterable)
參數 iterable
是一個可迭代的物件,可以是一個 list、tuple 或是字串,stack() 函式會將它轉換成一個堆疊,並回傳一個 LifoQueue
物件。
下面是一個簡單的範例:
# 建立一個 list my_list = [1, 2, 3, 4, 5] # 將 list 轉換成堆疊 my_stack = stack(my_list) # 印出堆疊 print(my_stack)
執行結果如下:
可以看到,stack() 函式會將 list 轉換成一個 LifoQueue
物件,可以使用 get()
方法取出堆疊中的資料,該方法會從堆疊的頂端取出資料,並將該資料從堆疊中移除:
# 取出堆疊中的資料 data = my_stack.get() # 印出資料 print(data)
執行結果如下:
5
可以看到,堆疊中的資料是從最後一個開始取出的,也就是先進後出(FILO)的原則。
另外,stack() 函式也可以用來將一個字串轉換成堆疊,下面是一個範例:
# 建立一個字串 my_str = 'Hello World' # 將字串轉換成堆疊 my_stack = stack(my_str) # 印出堆疊 print(my_stack)
執行結果如下:
可以看到,stack() 函式可以將字串轉換成堆疊,並回傳一個 LifoQueue
物件,可以使用 get()
方法取出堆疊中的資料:
# 取出堆疊中的資料 data = my_stack.get() # 印出資料 print(data)
執行結果如下:
d
可以看到,堆疊中的資料是從最後一個開始取出的,也就是先進後出(FILO)的原則。
另外,stack() 函式也可以用來將一個 tuple 轉換成堆疊,下面是一個範例:
# 建立一個 tuple my_tuple = (1, 2, 3, 4, 5) # 將 tuple 轉換成堆疊 my_stack = stack(my_tuple) # 印出堆疊 print(my_stack)
執行結果如下:
可以看到,stack() 函式可以將 tuple 轉換成堆疊,並回傳一個 LifoQueue
物件,可以使用 get()
方法取出堆疊中的資料:
# 取出堆疊中的資料 data = my_stack.get() # 印出資料 print(data)
執行結果如下:
5
可以看到,堆疊中的資料是從最後一個開始取出的,也就是先進後出(FILO)的原則。
總結一下,Python 中的 stack() 函式可以將一個可迭代的物件轉換成一個堆疊,可以使用 get()
方法取出堆疊中的資料,該方法會從堆疊的頂端取出資料,並將該資料從堆疊中移除,也就是先進後出(FILO)的原則。