用戶提供串列作為輸入[1,2,3,4]:
a = input()
它把這個當成str。我想將這些資料放入本地串列b。
b = a.strip('][').split(', ')
print(b)
輸出: ['1,2,3,4']
如何單獨獲取串列而不是單個物體?
uj5u.com熱心網友回復:
你應該做.split(',')而不是.split(', ')
uj5u.com熱心網友回復:
您可以使用ast.literal_eval來執行此操作。
import ast
a = input()
b = ast.literal_eval(a)
print(b)
# output
[1, 2, 3, 4]
從檔案:
安全地計算包含 Python 文字或容器顯示的運算式節點或字串。提供的字串或節點只能由以下 Python 文字結構組成:字串、位元組、數字、元組、串列、字典、集合、布林值、無和省略號。
這可用于安全地評估包含來自不受信任來源的 Python 值的字串,而無需自己決議這些值。它不能評估任意復雜的運算式,例如涉及運算子或索引。
uj5u.com熱心網友回復:
問題是在這一行:
b = a.strip('][').split(', ')
您使用帶有空格的 ', '而不是帶有空格的 ',' , 因為您的輸入沒有任何空格,如下所示:
user is giving list as input [1,2,3,4]
uj5u.com熱心網友回復:
ast.literal_eval(a)獲取字串輸入作為list資料型別,可以將其轉換為單個字串的串列map:
import ast
b = list(map(str,ast.literal_eval(a)))
['1', '2', '3', '4']
uj5u.com熱心網友回復:
您必須拆分',',如果這些都是整數值,則可以使用串列理解將 str 更改為 int :
b = [int(i) for i in a.strip('[]').split(',')]
輸出:
[1, 2, 3, 4]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/376192.html
上一篇:串列中元素的計數未產生預期結果
