python学习笔记之--sort、sorted排序


sort 与 sorted 区别: 

 sort 和 sorted 函数,一个原地排序,一个返回排序后的新结果
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

sorted() 函数对所有可迭代的对象进行排序操作。 

语法
sorted 语法:
sorted(iterable[, cmp[, key[, reverse]]])
参数说明:
iterable -- 可迭代对象。
cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

s = "i am a good boy,huhongqiang!"
def find_max_length(s):
    import string
    for c in s:
        if c in string.punctuation: #如果字符是标点符号的话就将其替换为空格
            s =s.replace(c," ")
    #print(s)
#对切割后的字符串按长度降序排列,按坐标是第一个的赋值为最大长度的单词 max_length_word = sorted(s.split(),key=len,reverse=True)[0] max_length_word_index = 0 max_length = len(max_length_word)
#找到最大长度单词的坐标 for i in range(len(ss)): if ss[i:i+max_length] == max_length_word: max_length_word_index = i return max_length_word,max_length_word_index print("最长的单词是%s,索引位置是%d" %find_max_length(s))
原文地址:https://www.cnblogs.com/wenm1128/p/11592317.html