关于拆分字典,并且按照值从小到大排序

浏览: 1859

Clipboard Image.png今天在社区回复问题的时候看到有人提问(见:https://ask.hellobi.com/question/23543

要求如下:

Clipboard Image.png

我尝试了一下,最终实现了。

代码如下:

_dict={'b':1,'f':7,'k':5,'s':8,'o':6,'a':3}

value2=[]

key1=sorted(_dict.keys())

#print(key1)

for i in range(len(_dict)):

    value1=_dict.get(key1[i], 'not found')

    value2.append(value1)

    

key_sorted=[]

value3=[]

#print(value2)

for j in range(len(value2)):

    value2_min=min(value2)

    index_min=value2.index(value2_min)

    key_sorted.append(key1[index_min])

    value3.append(value2_min)

    value2.remove(value2_min)

    key1.remove(key1[index_min])

    

print(key_sorted)

print(value3)

拜托社区各位大佬,有时间复杂度更小的方法评论告诉小弟我~

推荐 2
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

5 个评论

我自己想了一个小时才写出这个复杂的,哈哈
图片没啦
额 这就尴尬了
dic = {"b": 1, "f": 7, "k": 5, "s": 8, "o": 6, "a": 3}
keys = []
values = []

for key, value in dic.items():
keys.append(key)
values.append(value)

print(keys)
print(values)
_dict.sorted(_dict.items,keys=lambda items:items[1])

要回复文章请先登录注册