2016-04-20 81 views
2

從conditionId輸入字段我得到逗號分隔的字符串,例如'Test1','Test2','Test3'下面是代碼,我想分割該字符串並訪問個別值使用for環Python字符串和數組工作不正常

ConditionId =str(request.POST.getlist("ConditionId")) 
ConditionIdArray = [n for n in ConditionId[1:-1].split(',')] 

for i in range(0,len(ConditionIdArray)): 
    print(ConditionIdArray[i]) 

在打印語句它給我輸出

'Test1' 
'Test2' 
'Test3' 

,但我想輸出

Test1 
Test2 
Test3 

因爲當我在存儲數據庫中的數據存儲它作爲「Test1的」不正常的Test1

回答

4

POST.getlist會返回一個字符串列表。不要將它轉換字符串和分裂,只是重複它(無需使用range和索引):

condition_ids = request.POST.getlist("ConditionId") 

for condition_id in condition_ids: 
    print(condition_id) 
2

一點說明除了@ falsetru的答案。一個liststr()使用repr()顯示其元素,從而爲[x, y, z]是:

[repr(x), repr(y), repr(z)] 

並沒有如人們所預料的

[str(x), str(y), str(z)] 

而對於字符串,有差別:

> s = 'Test1' 
> print(str(s)) 
Test1 

> print(repr(s)) 
'Test1' # so, splitting the str(list) on commas leaves the quotes