Python列表提供了index()和count()方法,它们都可以用来查找元素。对列表进行排序,可以使用内置的sorted()函数或列表的sort()方法。
1、index()方法
index()方法用来查找某个元素在列表中出现的位置(也就是索引),当列表中有多个同样的元素,索引值为第一个匹配的元素的位置,例如:
动手练一练:
a = ["Orange", "Apple", "Banana", "Apple", "Cherry"]
print("Apple元素index结果为:", a.index("Apple")) # 输出 Apple元素index结果为: 1
print("Banana元素index结果为:", a.index("Banana")) # 输出 Banana元素index结果为: 2
执行以上代码,输出结果为:
Apple元素index结果为: 1
Banana元素index结果为: 2
上面的例子中,index会检索元素“Apple”。列表中有2个“Apple”元素,返回值为第一次查找到“Apple”时的索引位置。但是要注意,如果元素不在列表中,Python解释器就会报错。
2、count()方法
count()方法用来统计某个元素在列表中出现的次数,例如:
动手练一练:
a = ["Orange", "Apple", "Banana", "Apple", "Cherry"]
print("初始列表为:", a)
print("Apple出现的次数为:", a.count("Apple"), "次") # 输出 Apple出现的次数为: 2 次
print("Python出现的次数为:", a.count("Python"), "次") # 输出 Python出现的次数为: 0 次
执行以上代码,输出结果为:
初始列表为: ['Orange', 'Apple', 'Banana', 'Apple', 'Cherry']
Apple出现的次数为: 2 次
Python出现的次数为: 0 次
上面的例子中,count()函数查找列表a中“Apple”元素出现的次数,并输出2,如果count()输出为0,就表示列表中不存在该元素,所以count()也可以用来判断列表中的某个元素是否存在。
3、reverse()函数
在Python中,经常需要对列表进行操作,其中一个常见的需求是将列表中的元素按照相反的顺序重新排列。为了满足这个需求,Python提供了一个非常方便的函数reverse()。
动手练一练:
a = ["Orange", "Apple", "Banana", "Cherry"]
print("初始列表为:", a) # 输出 ["Orange", "Apple", "Banana", "Cherry"]
print("-------这是虚线-------")
a.reverse()
print("使用reverse结果为:", a)# 输出 ['Cherry', 'Banana', 'Apple', 'Orange']
执行以上代码,输出结果为:
初始列表为: ['Orange', 'Apple', 'Banana', 'Cherry']
-------这是虚线-------
使用reverse结果为: ['Cherry', 'Banana', 'Apple', 'Orange']
上面的例子中,reverse()函数将列表元素进行了逆序排列,并且该函数没有返回值。
4、sort()函数
sort()函数用于对列表中的元素按照升序或降序进行排列,可以使用sort()函数对数字、字符串、甚至包含混合数据类型的列表进行排序。sort()函数默认按照升序排序,例如:
动手练一练:
# 对数字列表进行排序
a = [6, 4, 2, 1, 8, 7]
a.sort()
print(a) # 输出 [1, 2, 4, 6, 7, 8]
print("-------这是虚线-------")
# 对字符串列表进行排序
b = ["Orange", "Apple", "Banana", "Cherry"]
b.sort()
print(b) # 输出 ['Apple', 'Banana', 'Cherry', 'Orange']
print("-------这还是虚线-------")
# 对数字列表进行“降序”排序
c = [6, 4, 2, 1, 8, 7]
c.sort(reverse=True) # 注意:reverse=True表示按降序排序,reverse=False(或不写)表示按升序排序
print(c) # 输出 [8, 7, 6, 4, 2, 1]
执行以上代码,输出结果为:
[1, 2, 4, 6, 7, 8]
-------这是虚线-------
['Apple', 'Banana', 'Cherry', 'Orange']
-------这还是虚线-------
[8, 7, 6, 4, 2, 1]
上面的例子中,sort()函数如果指定参数为“reverse=False”或没有指定参数,则默认按照升序排序,如果指定“reverse=True”参数,我们可以将列表按照降序排列。
5、sorted()函数
sorted()函数同样可以对列表中的元素进行排序,sorted()函数会返回一个新的排序后的列表,而sort()函数会在原地修改列表。例如:
动手练一练:
a = [6, 4, 2, 1, 8, 7]
a.sort()
print(a) # 输出 [1, 2, 4, 6, 7, 8]
print("-------这是虚线-------")
b = [6, 4, 2, 1, 8, 7]
c = sorted(b)
print(b) # 输出 [6, 4, 2, 1, 8, 7]
print(c) # 输出 [1, 2, 4, 6, 7, 8]
执行以上代码,输出结果为:
[1, 2, 4, 6, 7, 8]
-------这是虚线-------
[6, 4, 2, 1, 8, 7]
[1, 2, 4, 6, 7, 8]
上面的例子中,sort()和sorted()的区别在于,sort()会在原地修改列表,sorted()会返回一个新的排序后的列表。如果不需要保留原列表的顺序,可以使用sort()函数;如果需要保留原列表的不变性,可以使用sorted()函数。