Django在视图文件中迭代dict而没有值名称

时间:2015-11-24 17:39:20

标签: python django

我正在使用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被发送到字典中的模板。它很容易修改,所以我只是把它发送到另一个视图。我不知道它是以字符串形式发送的。对不起大家。

我使用了另一种解决方案。声明了一个全局字典并改为使用该字典。

1 个答案:

答案 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