Python Django在视图文件中没有值名的情况下迭代dict

Python Django在视图文件中没有值名的情况下迭代dict,python,django,Python,Django,我正在使用Django python 2.7,从一个特定的网页上,我收到了以下请求 当我执行以下操作时: for key in request.POST[‘items purchased’] print key 它打印出从第一个“{”到最后一个“}”的所有内容。我只想要价值观 如何执行for循环并获取每个键3和14的所有值 我在许多其他地方寻找过答案,但我没有找到有效的答案。我没有值的键或值名称 ****编辑***** request.POST已发送到字典中的模板。它没有被修改,所以我

我正在使用Django python 2.7,从一个特定的网页上,我收到了以下请求

当我执行以下操作时:

for key in request.POST[‘items purchased’]
    print key
它打印出从第一个“{”到最后一个“}”的所有内容。我只想要价值观

如何执行for循环并获取每个键3和14的所有值

我在许多其他地方寻找过答案,但我没有找到有效的答案。我没有值的键或值名称

****编辑***** request.POST已发送到字典中的模板。它没有被修改,所以我只是把它发送到另一个视图。我不知道它是以字符串的形式发送的。对不起,伙计们

我用了另一种方法。声明了一个全局字典并使用了该字典。

听起来您需要dictionary.values

如果要从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

value request.POST['items purchased']是一个字符串,而不是一个Python字典,您可以通过打印typerequest.POST['items\u purchased']进行检查。将字符串转换回字典很棘手。另一种选择是在发出web请求之前将数据转换为json,然后使用json.loads将其转换回Python对象。谢谢。我得到以下错误:“unicode”对象没有属性“值”,我不知道为什么会这样。我刚刚在我的示例中添加了您的确切代码。。。我给出的解决方案很有效。您提供的错误似乎表明您正在尝试循环字符串。@NotAnAmbiTurner-阅读问题的答案。
>>> 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