字符串排序,返回符合格式的元组数据

对字符串“2kd4-1124*2|^2sdAmZ%fkMcv”排序,并返回符合要求格式的元组数据。

排序规则:按照ASCII码由大到小排序;

返回数据格式:((最大字符,最小字符),(次大字符,次小字符),,,)

import math
s = '2kd4-1124*2|^2sdAmZ%fkMc'
def fun(s):
    l=list(s)
    l2=[]
    for i in range(len(l)-1):
        for j in range(len(l)-1-i):
            if(l[j]<l[j+1]):
                l[j],l[j+1]=l[j+1],l[j]
    if(len(l)%2==0):
        for i in range(len(l)//2):
            t1=(l[i],l[len(l)-1-i])
            l2.append(t1)
    else:
        for i in range(len(l)//2):
            t1=(l[i],l[len(l)-1-i])
            l2.append(t1)
        l2.append(l[math.ceil(len(l)//2)])
    t=tuple(l2) 
    return t
print(fun(s))

  

原文地址:https://www.cnblogs.com/sea-stream/p/9786530.html