python基础语法+爬虫+图像处理+NumpyPandas数据处理(12天速成,第5天上-sort排序规则)

# sort方法排序,默认是按照从小到大排序,默认比较的是元素值的大小
sa = [1,3,5,8,0,9]
sa.sort();
print(sa)
[0, 1, 3, 5, 8, 9]
# java也是一样的
# 字符串比较时,会将字符串中的每个字符,从前向后逐个比较
    # 如果第一个相同,就接着比较第二个;如果第二个还相同,就接着比较第三个。。
    # 直到某两个字符是不相同的,那么这两个字符所对应的码值(unicode码表)的大小,就是它们比较的结果 
    #unicode/gbk/iso8859-1,向下兼容ASCII
        # '0'-->48
        # 'A'-->65
        # 'a'-->97
sa = ["1","23","3","110","86","9","10"];
sa.sort();
print(sa); #['1', '10', '110', '23', '3', '86', '9']

sa = ["1","a","z","A","Z","0","110","Aab"];
sa.sort()
print(sa);#['0', '1', '110', 'A', 'Aab', 'Z', 'a', 'z']

#还是一个字符串,还是按照上面的比较规则
    #因为汉字和特殊字符,它们所对应的码值,我不知道
sa = ["张","刘","王","♥","123456"];
sa.sort()
print(sa) #["123456",不知道]
['1', '10', '110', '23', '3', '86', '9']
['0', '1', '110', 'A', 'Aab', 'Z', 'a', 'z']
['123456', '♥', '刘', '张', '王']
b1 = '张'>'刘';# 直接使用比较运算符
print(b1)
#print('张'-'刘') no
print(ord('张')-ord('刘'))
True
3336
Java 写法扩展讲解
String[] sa = {"1","a","z","A","Z","0","110","Aab"};
Arrays.sort(sa);
System.out.println(Arrays.toString(sa))
// char就是数字的特殊表示形式
    //char c1 = '张';相当于char c1 = 24352;
char c1 = '张';
char c2 = '刘';
System.out.println(c1>c2);

String s1 = "张";
String s2 = "刘";
//24352 - 21016
System.out.println(s1.compareTo(s2));//compareTo返回的是整数,s1的char-s2的char
sa = ["1","a","z","A","Z","0","110","Aab"];
sa.sort();# 字符串比较的顺序排序
print(sa);

#按照字符串的长度排序 
sa.sort(key = lambda x:len(x));
print(sa)

sa = ["1","23","3","110","86","9","10"];
#按照数字大小排序
sa.sort(key = lambda x:int(x));
print(sa)
['0', '1', '110', 'A', 'Aab', 'Z', 'a', 'z']
['0', '1', 'A', 'Z', 'a', 'z', '110', 'Aab']
['1', '3', '9', '10', '23', '86', '110']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值