字典,其中的键是三个单独的字符,并且键是不同大小的列表,请使用sort / sorted函数按值数组的长度对该字典进行排序。如果values数组的长度相等,则按key中的第三个元素(字符)对其进行排序。如果在这种情况下也出现冲突,请按键中第二元素按升序排序。字符大小(大/小)无关紧要。
我设法按值的长度对它进行排序,但是我找不到解决方法来查找碰撞并使用其他两个排序规则。
x = {("a", "B", "b"):[2, 0], ("A", "c", "b"):[2,1], ("d", "a", "C"):[0, 0, 0],
("A", "A", "A"):[2], ("e", "e", "t"):[2, 3]}
sort1 = sorted(x.items(), key = lambda x: x[1].__len__())
input = {("a", "B", "b"):[2, 0], ("A", "c", "b"):[2,1], ("d", "a", "C"):[0, 0, 0],
("A", "A", "A"):[2], ("e", "e", "t"):[2, 3]}
expected_output = [(("A", "A", "A"):[2]),(("e", "e", "t"):[2, 3]),
(("A", "B", "b"):[2, 1]),(("a", "c", "b"):[2, 0]),
(("d", "a", "C"),[0, 0, 0])]
答案 0 :(得分:0)
可以为 fgets(name, 20, stdin);
参数使用tuple
。
在这里,我使用key
函数以降序模式对字符进行排序。
ord