Python字符串和数组无法正常工作

时间:2016-04-20 08:31:14

标签: python arrays django list python-3.x

从conditionId输入字段我得到逗号分隔的字符串,例如'Test1','Test2','Test3',下面是我要分割该字符串并使用for循环访问单个值的代码

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])

在print语句中,它为我输出

'Test1'
'Test2'
'Test3'

但我希望输出为

Test1
Test2
Test3

因为当我在数据库中存储数据时,它存储为'Test1'而不是正常的Test1

2 个答案:

答案 0 :(得分:4)

POST.getlist将返回字符串列表。不要将它转换为字符串并拆分,只需迭代它(不需要使用range和索引):

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

for condition_id in condition_ids:
    print(condition_id)

答案 1 :(得分:2)

@fattru的回答有点解释性的补充。 str()的{​​{1}}使用list来显示其元素,因此对于repr()它是:

[x, y, z]

而不是,正如人们所预料的那样

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

对于字符串来说,这有所不同:

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