python基础_005_组织,排序列表

本文详细介绍了如何在Python中使用sort()和sorted()函数对列表进行升序和降序排列,包括处理字母顺序、中文字符、数字和混合类型的数据。同时,对比了两者对列表操作的持久性和临时性,并展示了针对不同情况的代码实例。
摘要由CSDN通过智能技术生成

1、使用sort()对列表永久排序

# 解析
# sort()可以对列表升序或降序排序
# list.sort() 不会返回对象,会改变原有的list
# (这点与sorted()不同,sorted()函数会返回一个列表,而sort()函数是直接在原来的基础上修改,其次注意语法)
# 函数sort()会默认地按升序排列

1、根据名字的字母顺序排列sort():  排列方式: a--z


name = ["xiaoming", "wangyang", "zhangshang", "lisi", "Huahua", "aiai", "Bizi"]
name.sort()
print(name)
# 输出结果: ['Bizi', 'Huahua', 'aiai', 'lisi', 'wangyang', 'xiaoming', 'zhangshang']

2、根据名字的字母到序排列sort(reverse=True): z--a
# reverse参数, reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,注意第一个字母是大写的

names = ["xiaoming", "wangyang", "zhangshang", "lisi", "Huahua", "aiai", "Bizi"]
names.sort(reverse=True)
print(names)
# 输出结果:['zhangshang', 'xiaoming', 'wangyang', 'lisi', 'aiai', 'Huahua', 'Bizi']


3、排列中有字母开头的字符串,还有中文开头的字符串,还有数字开头的字符串,实际结果只对字母开头的字符串做了排列


namee = ["xiaoming", "wan黑", "zha好", "lisi", "huahua", "aiai", "bizi", "张三", "李四", "王二", "A", "b", "1","2000", "3"]
namee.sort()
print(namee)
# 输出结果:['1', '2000', '3', 'A', 'aiai', 'b', 'bizi', 'huahua', 'lisi', 'wan黑', 'xiaoming', 'zha好', '张三', '李四', '王二']

4、排列中有中文开头的字符串,无法对它进行排列,应该有其他的解决办法


zhonwen = ["张三", "李四", "王二", "刘艳"]
zhonwen.sort()
print(zhonwen)
# 输出结果:['刘艳', '张三', '李四', '王二']


5、 对数值升序排列


a = [5, 2, 3, 1, 4]
a.sort()
print(a)
# 输出结果:[1, 2, 3, 4, 5]


6、对数值降序排列
b = [5.9, 2.1, 3.5, 1.2, 4]
b.sort(reverse=True)
print(b)
# 输出结果:[5.9, 4, 3.5, 2.1, 1.2]


2、使用sorted()对列表临时排序

# 解析
# sorted()可以对列表升序或降序排序
# sorted(list)函数会返回一个列表,不会改变原有的list
# 函数sorted(list, reverse=True)会默认地按升序排列, 可以使用参数reverse=True让列表倒序


1、 根据名字的字母顺序排列sorted():  排列方式: a--z


name = ["xiaoming", "wangyang", "zhangshang", "lisi", "Huahua", "aiai", "Bizi"]
newname = sorted(name)
print(name)
# 输出结果:['xiaoming', 'wangyang', 'zhangshang', 'lisi', 'Huahua', 'aiai', 'Bizi']
print(newname)
# 输出结果:['Bizi', 'Huahua', 'aiai', 'lisi', 'wangyang', 'xiaoming', 'zhangshang']


2、 根据名字的字母到序排列sorted(reverse=True): z--a


# reverse参数, reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,注意第一个字母是大写的

names = ["xiaoming", "wangyang", "zhangshang", "lisi", "Huahua", "aiai", "Bizi"]
namesnew = sorted(names, reverse=True)
print(namesnew)
# 输出结果:['zhangshang', 'xiaoming', 'wangyang', 'lisi', 'aiai', 'Huahua', 'Bizi']
print(names)
# 输出结果: ['xiaoming', 'wangyang', 'zhangshang', 'lisi', 'Huahua', 'aiai', 'Bizi']


3、倒着打印列表:使用 reverse()


# reverse() 反转列表元素的排列顺序,永久性地修改列表元素的排列顺序,可以随时恢复到原来的排序,再次倒着打印就行
cars = ["bwm", "audi", "toyota", "subaru"]
cars.reverse()
print(cars)
# 输出结果:['subaru', 'toyota', 'audi', 'bwm']
cars.reverse()
print(cars)
# 输出结果:['bwm', 'audi', 'toyota', 'subaru']


4、确定列表的长度:使用 len(列表对象)


#  列表包含了4个元素,因此长度为4
ca = ["bwm", "audi", "toyota", "subaru"]
print(len(ca))
# 输出结果:4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值