如何在 Python 中將字串轉換為列表

Azaz Farooq 2023年1月30日 2020年11月24日
  1. 在 Python 中使用 list() 函式將字串轉換為列表
  2. 在 Python 中使用 split() 方法將字串轉換為列表
  3. 在 Python 中使用 eval() 函式將字串轉換為列表
  4. 在 Python 中使用 ast 方法將字串轉換為列表
如何在 Python 中將字串轉換為列表

Python 列表是可變的;所以它的元素可以在程式執行過程中隨時被覆蓋、修改和刪除。字串是用單引號或雙引號括起來的字元組合,它是不可變的。

在本文中,我們將演示在 Python 中把字串轉換為列表的不同方法。

在 Python 中使用 list() 函式將字串轉換為列表

list() 函式在 Python 中把字串轉換為一個列表。

讓我們以下面的程式碼為例。

test_str="Python"
list(test_str)

輸出:

['P', 'y', 't', 'h', 'o', 'n']

list() 函式接收一個字串作為引數,並將其轉換為一個列表。字串中的每個字元都成為列表中的單個元素。

在 Python 中使用 split() 方法將字串轉換為列表

讓我們取一個以逗號分隔的字串值。

string='x,y,z'

現在,我們將字串值分割成列表元素。

完整的示例程式碼如下。

string='x,y,z'
output=string.split(',')
output

輸出:

['x', 'y', 'z']

上面的例子將字串在給定的定界符 , 處分割成一個列表。如果沒有給定定界符,則使用白色空間作為預設值。

在 Python 中使用 eval() 函式將字串轉換為列表

這個方法只有在字串安全的時候才會將字串轉換為一個列表,這意味著 eval() 函式中的字串被解析並確定為一個 Python 表示式。如果不能作為 Python 表示式進行評估,就會產生一個錯誤。它不是一個 pythonic 方法。我們可以使用 split()ast 方法來代替。

讓我們為這個方法取一個指定的字串。

string="['xxx','yyy','zzz']"

完整的示例程式碼如下。

string="['xxx','yyy','zzz']"
output=eval(string)
output

輸出:

['xxx', 'yyy', 'zzz']

在 Python 中使用 ast 方法將字串轉換為列表

這個方法將使用 ast 庫(抽象語法樹)。通過這個庫,我們將使用 eval() 函式將一個字串轉換為一個列表。

完整的示例程式碼如下。

import ast
string = "['xxx','yyy','zzz']"
output = ast.literal_eval(string)
output

輸出:

['xxx', 'yyy', 'zzz']

相關文章 - Python List

相關文章 - Python String