在Python中将字符串转换为列表

在Python中将字符串转换为列表,python,django,string,Python,Django,String,我正试图从url中收到的参数创建一个列表 e、 g我有: user.com/?users=0,1,2 现在,当我在请求中收到它时,它以字符串的形式出现。我想把“0,1,2”[0,1,2]列成一个列表,从“0,1,2”变成['0','1','2'],它只是“0,1,2”。拆分(“,”) 因此,如果在变量users中有它,那么users.split(“,”)将为您提供列表 如果需要将它们作为int而不是字符串,则应为[int(x)for x in users.split(',')]要将字符串转换

我正试图从url中收到的参数创建一个列表

e、 g我有:

 user.com/?users=0,1,2
现在,当我在请求中收到它时,它以字符串的形式出现。我想把“0,1,2”[0,1,2]列成一个列表,从“0,1,2”变成['0','1','2'],它只是
“0,1,2”。拆分(“,”)

因此,如果在变量
users
中有它,那么
users.split(“,”)
将为您提供列表


如果需要将它们作为int而不是字符串,则应为
[int(x)for x in users.split(',')]
要将字符串转换为列表,请使用
split

要将字符串列表转换为整数列表,请将列表理解与
int
一起使用

所以,把所有这些放在一起,看起来是这样的:

s = '0,1,2'
l = [int(x) for x in s.split(',')]
结果:

[1, 2, 3]

使用
split
方法。例如:

>>> "0,1,2".split(",")
['0', '1', '2']
甚至

>>> [int(x) for x in "0,1,2".split(",")]
[0, 1, 2]
ast.literal\u eval
类似于
eval
,但完全安全,因为它将字符串限制为字符串、数字、元组、列表、dicts、布尔值和
None

另一种尚未提及的替代方法是使用
map

x=map(int,'0,1,2'.split(','))

您可以使用以下代码:

s = 'user.com/?users=0,1,2'
s.rpartition('?users=')[2].split(',')

这个问题最初被标记为Django,所以我会记住它

在视图函数中,
请求
对象有一个GET属性,它是。如果您总是知道要为键“users”获取一个逗号分隔的整数列表,则可以在视图函数中执行以下操作:

users_list = request.GET('users', "").split(',')
这将为您提供一个字符串列表,如果GET中未提供“users”,则为空列表。如果您想要一个整数列表,您可以使用列表进一步处理它:

users_list = [int(x) for x in users_list]

您必须使用eval将字符串转换为“实际代码”:

例如:

>>> "0,1,2".split(",")
['0', '1', '2']
>>> l = u"[('0','None'),('2','Taxable Goods'),('4','Shipping')]"
>>> type(l)
<type 'unicode'>

>>> t = eval(l)
>>> type(t)
<type 'list'>
>>l=u“[('0','None'),('2','sapp应税货物'),('4','Shipping')”
>>>类型(l)
>>>t=评估值(l)
>>>类型(t)

我只是猜测,因为我没有使用该框架,但我想Django不会让他自己解析整个查询字符串,不是吗?删除了Django标记,因为它不是真正的Django问题,但Django可能对解析感兴趣的URL有一些支持。他肯定要求了其他东西!