【问题标题】:Sorting a list with dictionaries, django用字典排序列表,django
【发布时间】:2015-06-18 11:35:17
【问题描述】:

myFrom django 中的两个模型我创建了一个字典列表,其中每个字典都是我在客户端显示的表中的一行。

我希望能够为每个不同的“列”对这个列表进行排序。

objdict = []    
mydict = {
    'thing1': model1.val1,
    'thing2': model2.val1,
    'thing3': model2.val2,
    'thing4': model1.val2,
    'thing5': model1.val3,
}
objdict.append(mydict)

假设我想按升序对 thing1 上的列表进行排序。 我怎么能做到这一点?

【问题讨论】:

  • sorted(objdict, key=operator.itemgetter('thing1'))?
  • 不要隐藏内置的dict构造函数。
  • 不,它没有工作,这种功能应该在崩溃并抛出异常。
  • @Eitre,他只是说不要使用dict作为变量名,因为dict在python语法中有特殊含义。
  • 我认为这只是一个错字。将:objdict.append(dict) 更改为:objdict.append(mydict)

标签: python django list sorting dictionary


【解决方案1】:

你应该能够做到:

sorted_objects = sorted(objdict, key=lambda k: k['thing1'])

会让你升序。降序:

sorted_objects = sorted(objdict, key=lambda k: k['thing1'], reverse=True)

【讨论】:

  • 是的,我认为这行得通。我怎么做下降呢?
  • 我添加了一个降序的例子。
猜你喜欢
  • 1970-01-01
  • 2011-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多