我正在使用Django(python 2.7),我从特定网页收到request.POST[‘items purchased’]
print request.POST[‘items purchased’]
{3: [1, Decimal('15.23'), 'Effective Java', Decimal('15.23')], 14: [1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]}
当我执行以下操作时:
for key in request.POST[‘items purchased’]
print key
它打印出从第一个'{'到最后'}'的所有内容。我只想要价值观。
如何进行for循环并获取每个键的所有值(3和14)?
我已经在SO和许多其他地方寻找答案,但我找不到有用的东西。我没有值的键或值名称。
**** ***** EDIT request.POST被发送到字典中的模板。它很容易修改,所以我只是把它发送到另一个视图。我不知道它是以字符串形式发送的。对不起大家。
我使用了另一种解决方案。声明了一个全局字典并改为使用该字典。
答案 0 :(得分:-1)
听起来你想要dictionary.values()
。
>>> dicty = {1: 'one', 2: 'two'}
>>> for i in dicty.values():
... print i
one
two
如果您想从dict值中获取每个值:
>>> dicty = {1: ['one1', 'one2'], 2: ['two1', 'two2']}
>>> for i in dicty.values():
... for x in i:
... print x
one1
one2
two1
two2
这是在处理您在问题中提供的内容:
from decimal import Decimal
x = {3: [1, Decimal('15.23'), 'Effective Java', Decimal('15.23')], 14: [1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]}
=> None
for i in x.values():
.. print i
..
[1, Decimal('15.23'), 'Effective Java', Decimal('15.23')]
[1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]
for i in x.values():
.. for y in i:
.. print y
..
1
15.23
Effective Java
15.23
1
34.65
Microsoft Office 2013
34.65