1. 程式人生 > 程式設計 >Python 字串型別列表轉換成真正列表型別過程解析

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','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型別,如果是則進行運算,否則就不進行運算

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。