组织列表
在创建的列表中,元素的排列顺序是无法预测的,不能总控制用户提供数据的顺序,通过组织列表的方式,来控制列表的排序
使用方法sort()对列表进行永久性排序
sort()方法:列表中值时小写时默认是按字母顺序永久排序,无法恢复原来的排列顺序 sort()方法中传递参数reverse=True,按与字母相反的顺序永久排列列表元素
cars = [ 'bow' , 'audi' , 'toyota' , 'subaru' ]
cars. sort( )
print ( cars)
cars. sort( reverse= True )
print ( cars)
['audi', 'bow', 'subaru', 'toyota']
['toyota', 'subaru', 'bow', 'audi']
使用函数sorted()对列表进行临时排序
保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,使用函数sorted(). sorted()能够按特定顺序(列表中值时小写时默认是字母排列顺序)显示列表元素,同时不影响它们在列表中的原始排列顺序。 sorted()函数中传递参数reverse=True,按与字母相反的顺序永久排列列表元素 注意:
并非所有的值都是小写时,按字母顺序排列列表要复杂,决定排列顺序时,有多种解读大写字母的方式。
cars = [ 'bow' , 'audi' , 'toyota' , 'subaru' ]
print ( "Here is the original list:" )
print ( cars)
print ( "\nHere is the sorted list:" )
print ( sorted ( cars) )
print ( "\nHere is the reverse sorted list:" )
print ( sorted ( cars, reverse= True ) )
print ( "\nHere is the orignal list again:" )
print ( cars)
Here is the original list:
['bow', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bow', 'subaru', 'toyota']
Here is the reverse sorted list:
['toyota', 'subaru', 'bow', 'audi']
Here is the orignal list again:
['bow', 'audi', 'toyota', 'subaru']
倒着打印列表
反转列表元素的排列顺序,使用方法reverse() 注意:
reverese()方法不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序 reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来排列顺序,只需对列表再次调用reverse()即可
cars = [ 'bow' , 'audi' , 'toyota' , 'subaru' ]
print ( cars)
cars. reverse( )
print ( cars)
cars. reverse( )
print ( cars)
['bow', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bow']
['bow', 'audi', 'toyota', 'subaru']
确定列表的长度
使用函数len()可快速获取列表的长度 Python计算列表元素时从1开始,因此确定列表长度时,不会遇到差一错误
car = [ 'bow' , 'audi' , 'toyota' , 'subaru' ]
c = len ( car)
print ( c)
4
练习
address = [ 'beijing' , 'chengdou' , 'xian' , 'dalian' , 'lanzhou' ]
print ( "原始列表:" )
print ( address)
print ( "按字母顺序排序:" )
print ( sorted ( address) )
print ( "核实原始表变化:" )
print ( address)
print ( "按字母相反顺序排序:" )
print ( sorted ( address, reverse= True ) )
print ( "核实原始表变化:" )
print ( address)
print ( "颠倒列表元素顺序:" )
address. reverse( )
print ( address)
print ( "再次颠倒列表元素顺序:" )
address. reverse( )
print ( address)
print ( "按字母顺序排序,核实原始表发生变化:" )
address. sort( )
print ( address)
print ( "按字母顺序排序,核实原始表发生变化:" )
address. sort( reverse= 1 )
print ( address)
print ( "列表长度:" + str ( len ( address) ) )
原始列表:
['beijing', 'chengdou', 'xian', 'dalian', 'lanzhou']
按字母顺序排序:
['beijing', 'chengdou', 'dalian', 'lanzhou', 'xian']
核实原始表变化:
['beijing', 'chengdou', 'xian', 'dalian', 'lanzhou']
按字母相反顺序排序:
['xian', 'lanzhou', 'dalian', 'chengdou', 'beijing']
核实原始表变化:
['beijing', 'chengdou', 'xian', 'dalian', 'lanzhou']
颠倒列表元素顺序:
['lanzhou', 'dalian', 'xian', 'chengdou', 'beijing']
再次颠倒列表元素顺序:
['beijing', 'chengdou', 'xian', 'dalian', 'lanzhou']
按字母顺序排序,核实原始表发生变化:
['beijing', 'chengdou', 'dalian', 'lanzhou', 'xian']
按字母顺序排序,核实原始表发生变化:
['xian', 'lanzhou', 'dalian', 'chengdou', 'beijing']
列表长度:5