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)的原則。

Categorized in:

Tagged in: