Python 组织列表

2023-07-10,,

组织列表

在创建的列表中,元素的排列顺序是无法预测的,不能总控制用户提供数据的顺序,通过组织列表的方式,来控制列表的排序

使用方法sort()对列表进行永久性排序

sort()方法:列表中值时小写时默认是按字母顺序永久排序,无法恢复原来的排列顺序
sort()方法中传递参数reverse=True,按与字母相反的顺序永久排列列表元素

# sort()对列表永久性排序案例
# 字母顺序永久排序,无法恢复原来排列顺序
cars = ['bow','audi','toyota','subaru']
cars.sort()
print(cars)
# reverse颠倒,字母反向永久排序
cars.sort(reverse=True)
print(cars)
['audi', 'bow', 'subaru', 'toyota']
['toyota', 'subaru', 'bow', 'audi']

使用函数sorted()对列表进行临时排序

保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,使用函数sorted().
sorted()能够按特定顺序(列表中值时小写时默认是字母排列顺序)显示列表元素,同时不影响它们在列表中的原始排列顺序。
sorted()函数中传递参数reverse=True,按与字母相反的顺序永久排列列表元素
注意:
并非所有的值都是小写时,按字母顺序排列列表要复杂,决定排列顺序时,有多种解读大写字母的方式。

# sorted()临时排序
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

练习

# 1.放眼世界
# 想出至少 5 个你渴望去旅游的地方。
# 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
# 按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始 Python 列表。
# 使用 sorted() 按字母顺序打印这个列表,同时不要修改它。
# 再次打印该列表,核实排列顺序未变。
# 使用 sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它。
# 再次打印该列表,核实排列顺序未变。
# 使用 reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
# 使用 reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
# 使用 sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
# 使用 sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了
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

Python 组织列表的相关教程结束。

《Python 组织列表.doc》

下载本文的Word格式文档,以方便收藏与打印。