列表中的数据种类很多,有字符串,有整型,有其他列表的嵌套,还有更多的数据类型,这些数据在列表中往往是错乱的,没有一定的逻辑关系,但是我们在使用列表的时候往往需要按照一定的逻辑关系进行调用或检索。下面就来看看列表是如何排序和翻转的,所谓翻转也就是把既定列表倒序排列。
一、列表正序排序sort()
1.正序排序函数sort()是把原有列表进行重新排序,返回原有排序好的列表。
num = [6, 5, 1, 7, 9, 0, 2, 4]
num.sort()
print(num)
返回结果:[0, 1, 2, 4, 5, 6, 7, 9]
2.上面是对整形数据进行排列,下面我们看看浮点型和字符串这样的类型返回结果是什么样的。
num2 = [6.3, 5.5, 1.21, 7.4, 9.0, 0.8, 2.22, 4.6]
num2.sort()
print(num2)
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
name1.sort()
print(name1)
返回结果:
[0.8, 1.21, 2.22, 4.6, 5.5, 6.3, 7.4, 9.0]
['C', 'C#', 'C++', 'MySql', 'java', 'php', 'php', 'python']
从上面的返回结果可以看出来,sort()函数如果遇到字符串是按照首字母顺序进行排列的,如果遇到浮点型数据还是按照大小排列。
3.如果数据类型更加复杂,那sort()还能排序吗下面看看演示结果。
❥ 3.1.字符串和整形
num3 = [6, 5, 'python', 'java', 1, 7, 'C', 9, 0, 2, 'MySql', 4]
num3.sort()
print(num3)
返回结果:TypeError: '<' not supported between instances of 'str' and 'int'
❥ 3.2.整形和列表嵌套
num4 = [6, 5, 1, 7, [6.3, 5.5, 1.21], 9, 0, 2, [7.4, 9.0, 0.8, 2.22, 4.6], 4, [1, 2]]
num4.sort()
print(num4)
返回结果:TypeError: '<' not supported between instances of 'list' and 'int'
由上面的结果可以看出来,不同的数据类型是没有办法进行排列的。
二、reverse()列表倒序排列
这个方法是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理。如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序。
num = [6.3, 5.5, 1.21, 7.4, 9.0, 0.8, 2.22, 4.6]
num.reverse()
print(num)
返回结果:[4.6, 2.22, 0.8, 9.0, 7.4, 1.21, 5.5, 6.3]