• Python学习记录:排序


    输入一串数字,排序输出(升序)

    1、首先使用冒泡排序,看代码

    str=input('请输入需排序的数字串(以‘,’分隔):')
    list_test=str.split(',')
    #print(list_test)
    for i in range(len(list_test)):
    list_test[i]=int(list_test[i])
    print('输入的数字串如下: ',list_test)
    def sort_test(m): #冒泡排序
    for i in range(len(m)-1):
    for j in range(len(m)-1-i):
    if m[j]>m[j+1]:
    m[j],m[j+1]=m[j+1],m[j]
    return m
    print('排序后(升序): ',sort_test(list_test))

     运行这段代码,输入字符串如#等,会出现报错‘ValueError: invalid literal for int() with base 10: '#'’

    原因是:值的类型转换错误。int(str)将符合整数的规定的字符串转换成int型的,所以这里使用int()函数来转换‘#’是不可以的

    若是输入为浮点型,可将int()函数替换为float()函数。

    2、内建函数sort或sorted

    sort()函数和sorted()函数都可排序,主要区别:sort直接改变列表的内容;sorted是不改变原列表的内容,根据一个可迭代对象建立一个新的列表

    str=input('请输入需排序的数字串(以‘,’分隔):')
    list_test=str.split(',')
    #print(list_test)
    for i in range(len(list_test)):
    list_test[i]=int(list_test[i])
    print('输入的数字串如下: ',list_test)
    t=sorted(list_test)
    print('排序后(升序): ',t)

    '''
    输出:
    请输入需排序的数字串(以‘,’分隔):8,9,5,2,1
    输入的数字串如下:
    [8, 9, 5, 2, 1]
    排序后(升序):
    [1, 2, 5, 8, 9]
    '''
  • 相关阅读:
    网络爬虫之第一章网络请求
    rabbitmq学习(一) —— 安装篇
    jenkins自动构建部署
    httpclient初步封装
    谈谈“拥抱变化”
    mongo对分组数据进行排序
    困兽
    go语言——goland中项目目录及编译说明
    最长回文子串
    java中关于锁知识的整理
  • 原文地址:https://www.cnblogs.com/zhuzhu1214/p/11690472.html
Copyright © 2020-2023  润新知