我找了很长时间,没有找到实际的答案,因为我看不到任何以升序键开始然后以降序值开头的答案。
一个更清楚的例子:
d = {'banana':3, 'orange':5, 'apple':5}
out: [('apple', 5), ('orange', 5), ('banana', 3)]
Run Code Online (Sandbox Code Playgroud)
在做了一些研究之后,我得出了这样的结论:
sorted(d.items(), key=operator.itemgetter(1,0), reverse=True)
out: [('orange', 5), ('apple', 5), ('banana', 3)]
Run Code Online (Sandbox Code Playgroud)
这是因为它对值和键都进行了反向排序。我需要不倒转的钥匙。
我真的很感激这里的一些帮助。提前致谢!
嗨,我是Python的新手,我正在努力打算如何打印字典.
我有一本字典,如下所示.
dictionary = {a:1,b:1,c:2}
Run Code Online (Sandbox Code Playgroud)
如何在一行中打印字典,如下所示?
a1b1c2
Run Code Online (Sandbox Code Playgroud)
我想在一行中打印键和值,但我自己也想不通.
我很感激你的意见!
在主词典中,日期是一个值.有相同日期的数据.然后我拿出日期并通过创建一个二维字典对其进行分组,其中日期是关键.
data = {
"01-01-2015" : "some data",
"05-05-2015" : "some data",
"03-04-2015" : "some data"
}
Run Code Online (Sandbox Code Playgroud)
现在我想按日期降序排序,以便它看起来像这样:
data = {
"05-05-2015" : "some data",
"03-04-2015" : "some data",
"01-01-2015" : "some data"
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在使用python 2.6
我有这样的结构dict:
my_dict[object_1] = {'alfa': '1', 'beta': '2', 'etc': '3'}
my_dict[object_2] = {'alfa': '5', 'beta': '9', 'etc': '1'}
my_dict[object_3] = {'alfa': '7', 'beta': '3', 'etc': '3'}
my_dict[object_4] = {'alfa': '3', 'beta': 'a', 'etc': '2'}
Run Code Online (Sandbox Code Playgroud)
我希望在关键'alfa'上排序,我希望得到这个:
my_dict[object_1] = {'alfa': '1', 'beta': '2', 'etc': '3'}
my_dict[object_4] = {'alfa': '3', 'beta': 'a', 'etc': '2'}
my_dict[object_2] = {'alfa': '5', 'beta': '9', 'etc': '1'}
my_dict[object_3] = {'alfa': '7', 'beta': '3', 'etc': '3'}
Run Code Online (Sandbox Code Playgroud)
怎么做?
可以很容易地通过Python中的键或值对Map进行排序(例如,这个问题).
我想在Scala中做同样的事情,假设我有一个字典,如:
val A= Map(0 -> 1.0, 3 -> 5.0,2->7.0)
Run Code Online (Sandbox Code Playgroud)
我想通过键获得与排序的Map对应的元组列表:
val A_sorted= List((0,1.0),(2,7.0),(3,5.0))
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个字典,其值是浮点数.我试图按值的降序排序字典,我试图通过按升序排序键来打破关系.
我实现了以下代码来实现这一目标:
for key, value in sorted(dictionary.items(), key=lambda x: (-x[1], x[0])):
print key, value
Run Code Online (Sandbox Code Playgroud)
我的一些价值观似乎不合适.
2315 0.000232471518033
2823 0.000232414850716
3649 0.00023239634392
3695 0.00023239634392
3883 0.00023239634392
3479 0.00023239634392
3562 0.00023239634392
3613 0.00023239634392
Run Code Online (Sandbox Code Playgroud)
按照上面的代码行,以3479开头应该在以3649开头的行之前打印.
关于我对字典进行排序的方式可能有什么问题的任何想法?是否与浮点数的精度有关?
我有一个Python字典d:
d = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
}
Run Code Online (Sandbox Code Playgroud)
我想这样排序:
x是第一位。因此,如果x = 'c'我希望输出为:
>>> print(new_d)
>>> { 'c': 3, 'a': 1, 'b': 2, 'd': 4}
Run Code Online (Sandbox Code Playgroud)
是否有一种简单/轻松/ Pythonic的方法来做到这一点?是的,我已经看到并理解了有关这些问题的大量答案。如何按值对字典进行排序?以及如何按键对字典排序?
我想按特定键的值对字典进行排序(示例中的“foo”)
mydict = dict()
mydict["a"] = {"foo": 0.3, "boo": 0.1}
mydict["b"] = {"foo": 0.1, "boo": 0.2}
mydict["c"] = {"foo": 0.8, "boo": 0.3}
mydict["d"] = {"foo": 0.5, "boo": 0.4}
mydict["e"] = {"foo": 0.2, "boo": 0.5}
# sort by "foo" in descending order
# expected result: [{"foo": 0.8, "boo": 0.3}, {"foo": 0.5, "boo": 0.4}, {"foo": 0.3, "boo": 0.1}, {"foo": 0.2, "boo": 0.5}, {"foo": 0.1, "boo": 0.2}]
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到上面评论中显示的我想要的结果?