Python 字符串類型列表轉換成真正列表類型

我們在寫代碼的過程中,會經常使用到for循環,去循環列表,那麼如果我們拿到一個類型爲str的列表,對它進行for循環,結果看下面的代碼和圖:

str_list = str(['a','b','c'])

for row in str_list:
    print(row)

結果:
Python 字符串類型列表轉換成真正列表類型

那麼for循環就把str類型的列表的每一個字符都一個一個的循環的打印出來,而這個結果並不是我們想要的,那麼如何解決這個問題?,使用到第三方模塊,看下面的代碼

from ast import literal_eval

# 假設拿到了一個str類型的列表
str_list = str(['a','b','c'])

print(type(str_list)) # <class 'str'>

# 通過 literal_eval 這個函數,將str類型的列表轉換成類型爲list的真正的列表類型
new_list = literal_eval(str_list)

print(type(new_list)) # <class 'list'>

# 然後就可以通過for循環獲取到列表中的每一個值
for row in new_list:
     print(row)

# 執行結果
'''
a
b
c
'''

ast 的literal函數 會判斷需要計算的內容計算後是不是合法的python類型,如果是則進行運算,否則就不進行運算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章