如何將其轉換為 python 中的整數串列?
我的代碼:
lst = input("Kindly input a string")
[int(element) for element in lst]
我不斷得到
ValueError: int() 以 10 為底的無效文字:'['
uj5u.com熱心網友回復:
假設您正在輸入字串輸入,例如:
"[1, 2, 3]"
你可以使用ast.literal_eval:
import ast
inp = "[1, 2, 3]"
lst = ast.literal_eval(inp)
print(lst) # [1, 2, 3]
或者,您可以使用re.findall:
inp = "[1, 2, 3]"
lst = [int(x) for x in re.findall(r'\d ', inp)]
print(lst) # [1, 2, 3]
uj5u.com熱心網友回復:
您可以使用 python 評估:
eval("[1, 2, 3]")
# [1, 2, 3]
eval("2,4,2 ,2 ,23, 23")
# (2, 4, 2, 2, 23, 23)
確切的情況是:
lst = eval(input("Kindly input a string"))
uj5u.com熱心網友回復:
通過字串操作:用 洗掉方括號str.strip,通過在每次出現時拆分字串來制作一個數字串列', '(這里為簡單起見,假設在之后總是有一個空格,),最后將每個字串數字轉換為整數。
s = "[1, 2, 3]"
l = list(map(int, s.strip('][').split(', ')))
print(l)
更復雜的情況,例如當不確定是否存在空白時,可以使用for-loop 方法或使用正則運算式來解決。對于嵌套串列,這ast.literal_eval是選擇。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505439.html
下一篇:如何遍歷串列并相互比較每個字符
