python词典问题

python词典问题,python,django,Python,Django,全部, 这是我从模板得到的请求 u'subjects': [u'7', u'4', u'5', u'3', u'2', u'1'] 在我看来,如何提取像7 4 5 3 2 1 如何从中提取上述序列 new_subjects=request.POST.get('subjects') 谢谢。类似以下内容: try: int_subjects = [int(x) for x in new_subjects] except ValueError: #There was an erro

全部,

这是我从模板得到的请求

u'subjects': [u'7', u'4', u'5', u'3', u'2', u'1']
在我看来,如何提取像
7 4 5 3 2 1

如何从中提取上述序列

new_subjects=request.POST.get('subjects')

谢谢。

类似以下内容:

try:
    int_subjects = [int(x) for x in new_subjects]
except ValueError:
    #There was an error parsing.
在ipython中使用timeit表明,在本例中,map略快于理解

In [99]: timeit map(int,new_subjects)
100000 loops, best of 3: 7.81 µs per loop

In [100]: timeit [int(x) for x in new_subjects]
100000 loops, best of 3: 8.8 µs per loop

request.POST
是一个实例,它有一个名为的方法,该方法返回给定键的值列表

例如:

>>> new_subjects = request.POST.getlist('subjects')
>>> print new_subjects
[u'7', u'4', u'5', u'3', u'2', u'1']

有关将列表项转换为整数的信息,请参阅。

+1有关尝试优化另一个答案(并成功完成此操作)的信息,您不应使用裸露的
except
子句。我当时不记得正确的错误是什么。我想要么是谷歌搜索,要么这里有人会知道。这很简单。运行Python。键入
int(“hi mom”)
您就会知道。我就是这么做的。我不依赖记忆--杜松子酒毁掉了我仅有的一点点。
>>> new_subjects = request.POST.getlist('subjects')
>>> print new_subjects
[u'7', u'4', u'5', u'3', u'2', u'1']