Python 组织列表

组织列表

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

使用方法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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YEGE学AI算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值