1.排序方法一
list1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
str1 = 'akjhfoijhfd'
res = sorted(list1) # 升序排列
print(res)
res = sorted(list1, reverse=True) # 降序排列
print(res)
res = sorted(str1) # 升序排列
print(res)
res = sorted(str1, reverse=True) # 降序排列
print(res)
list2 = [('d', 21), ('e', 33), ('a', 59), ('s', 12), ('de', 17), ('dd', 15)]
res = sorted(list2) # 按照第一个元素首字母顺序排序
print(res)
res = sorted(list2, reverse=True) # 按照第一个元素首字母倒序排序
print(res)
def getKey(k):
return k[1]
res = sorted(list2, key=getKey) # 通过高阶函数获取第二个元素,按照第二个元素大小顺序排序
print(res)
res = sorted(list2, key=getKey, reverse=True) # 按照第二个元素大小倒序排序
print(res)
2.排序方法二
'''
res = list2.sort()
print(res) # 返回结果为空,是因为sort()方法是直接将list2进行排序的,
# 和上面的sorted不一样,sorted不改变原有列表,而是得到一个新的排序号的列表
# 和sorted不同之处还有sorted可作用于所有可迭代对象,sort只能作用于列表
print(list2)
'''
def getKey(k):
return k[1]
res = list2.sort(key=getKey) # sort()是对象方法,注意调用使用点
print(list2)
res = list2.sort(key=getKey, reverse=True)
print(list2)
3.列表乱序排列
import random
list5 = [1, 2, 3, 4, 5]
res5 = random.shuffle(list5)
print(list5)
print(res5) # 注意:没有返回值,直接乱序排列原有的列表顺序
4.翻转列表
res6 = list5.reverse()
print(list5) # 注意:没有返回值,直接翻转排列原有的列表顺序
res6 = list5[::-1] # 翻转列表
print(list5)
print(res6[5:2:-1]) # 5到2翻转列表,取不到2的值