为了账号安全,请及时绑定邮箱和手机立即绑定

动态封装一个排序方法,方便所有数据类型字典排序

"""代码这么写完全就不用写死了,随便什么字典都可以进行排序,只需要更换字典即可"""

#获取原有字典d值
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}

#封装bubble冒泡排序算法,此方法输入list返回list,返回list的值从大到小排列,如果需要从小到大排列修改方法中的if即可
def bubble(bubbleList):
    listLength = len(bubbleList)
    while listLength > 0:
        for i in range(listLength - 1):
            if bubbleList[i] < bubbleList[i+1]:
                bubbleList[i] = bubbleList[i] + bubbleList[i+1]
                bubbleList[i+1] = bubbleList[i] - bubbleList[i+1]
                bubbleList[i] = bubbleList[i] - bubbleList[i+1]
        listLength -= 1
    return bubbleList

#将原有的字典转换成1个list,排序以value进行,那么将d字典中的所有value进行list转换
list_value = list(d.values())

#将转换后的list_value传入到bubble冒泡排序算法中进行排序
bubble_list = bubble(list_value)
# print bubble_list #这里去掉之前的注释能看到排序后的效果

#将排序后的bubble_list列表使用for循环进行字典值的动态匹配,并将匹配的值进行输出打印
for value1 in bubble_list:
    for (key,value2) in d.iteritems():
        if value1 == value2:
            print "%s,%d" % (key,value2)


正在回答

2 回答

老哥稳

0 回复 有任何疑惑可以回复我~

老哥稳

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

动态封装一个排序方法,方便所有数据类型字典排序

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信