关于python中的sort()的用法及参数说明

python中提供sort()函数用于列表的排序,sort()函数共有两个参数,
分别为:key和reverse
其中key用于指定一个函数,即key=函数,即为排序提供一种方法
reverse意为翻转的意思,可以呈现为降序排序等。

b = ['p','py','pyt','pyth','pytho','python']
# 让sort函数按照len函数提供的字符串长短进行排序,默认为升序
b.sort(key = len)
print(b)

以上输出结果为:

['p', 'py', 'pyt', 'pyth', 'pytho', 'python']
b = ['p','py','pyt','pyth','pytho','python']
# 让sort函数按照len函数提供的字符串长短进行排序,reverse=True意为翻转,为逆序排序
b.sort(key = len,reverse=True)
print(b)

以上输出结果为:

['python', 'pytho', 'pyth', 'pyt', 'py', 'p']

sort()由于key中指定一个函数,可以将key与lambda匿名函数进行结合使用。
例1:

a = [('AZ','abc',154),('BZ','aac',144),('AB','abd',253)]
# 默认的情况下按照第一个元素的升序排序
a.sort()
print(a)

以上输出结果为:

[('AB', 'abd', 253), ('AZ', 'abc', 154), ('BZ', 'aac', 144)]

例2:

a = [('AZ','abc',154),('BZ','aac',144),('AB','abd',253)]
# 按照第二个元素进行升序排序
a.sort(key=lambda i:i[1])
print(a)

以上输出结果为:

[('BZ', 'aac', 144), ('AZ', 'abc', 154), ('AB', 'abd', 253)]

例3:

a = [('AZ','abc',154),('BZ','aac',144),('AB','abd',253)]
# 按照第三个元素进行升序排序
a.sort(key=lambda i:i[2])
print(a)

以上输出结果为:

[('BZ', 'aac', 144), ('AZ', 'abc', 154), ('AB', 'abd', 253)]

如果想按照某位元素进行降序排序,只需在sort中将reverse参数设置为True即可。

你可能感兴趣的:(列表,python,lambda)