python中的字符串比较

python中没有直接的方法对字符串进行排序,原因是字符串类型是不允许直接修改元素的。

字符串比较的规则是由左边开始最前面的字符对应ascll码表中的大小决定的,与长度无关,比如下面这个比较:
python中的字符串比较_第1张图片
进阶,如何根据字符串数组长度排序
我们可以使用sort方法和sorted函数根据长度进行排序,方法是将键作为参数传递给排序的方法。在这我贴上sorted方法与sort的区别:
python中的字符串比较_第2张图片

实现如下:

# 字符串列表
strings = ['Python', 'C', 'Java', 'Javascript', 'React', 'Django', 'Spring']
# 以升序对列表进行排序-长度
strings.sort(key=len)
# 打印排序列表
print(strings)

结果:

['C', 'Java', 'React', 'Python', 'Django', 'Spring', 'Javascript']

我们可以将任何函数传递给key参数。sort方法将根据给定给键参数的函数的返回值对列表进行排序
再进一步,根据字符串的值进行排序

#字符串列表
strings = ['7', '34', '3', '23', '454', '12', '9']
#以升序对列表进行排序-int值
sorted_strings = sorted(strings, key=int)
#打印排序列表
print(sorted_strings)

输出结果;

['3', '7', '9', '12', '23', '34', '454']

当然我们也可以采用列表生成式来实现


strings = ['7', '34', '3', '23', '454', '12', '9']
new_strings = sorted([int(element) for element in strings])
print(new_strings)

结果同上,总结一下,还是得基础扎实,在这我只写出了三种,但只要了解了字符串比较的规则,要写字符串的排序就很简单,怎么写都行。

你可能感兴趣的:(python,python,开发语言,后端)