Python中list的操作4-3

除了对list进行添加元素和删除元素之外,还可以对list进行查找索引、排序、反转和拷贝等操作。

3 其他操作

3.1 查找索引

使用index()方法查找指定值在list中的索引值。

3.1.1 index()方法的语法

list.index(value, start=0, end=9223372036854775807,/)

其中,参数value是指定要查找的值;start表示起始索引值,end表示结束索引值,start和end参数都具有默认值。index()方法的返回值是指定值在列表中的索引值。

3.1.2 相关代码

index()方法的相关代码如下所示:

list1 = [1,2,3,4]

list1.index(2)

1

list1.index(3,1,3)

2

因为index()方法的start和end参数都具有默认值,因此一般情况下,只需指定其value参数即可。当指定了end参数和start参数之后,就在指定区间内搜索。

3.1.3 注意事项

(1)index()方法返回指定值第一次出现的位置索引

>>> list1 = [1,2,3,4,3,4]

>>> list1.index(3)
2

从以上代码可以看到,list1中包含两个3,index()方法返回的是第一个3的索引。

(2)当搜索的值不在list中,显示错误

>>> list1.index(5)

Traceback (most recent call last):

  File "<pyshell#6>", line 1, in <module>

    list1.index(5)

ValueError: 5 is not in list

从以上代码中可以看到,list1中不包含5,因此使用index()元素搜索5时,会显示错误信息。该错误信息为“值错误,list中不包含5”。

(3)返回的索引值是基于0,而不是基于参数start

>>> list1.index(3,4,5)

4

以上代码的含义是在list1的4-5索引之间搜索数值4,此时返回的索引值是4,即基于0,而不是基于start参数的。

3.2 排序

通过sort()方法对list中的元素进行排序,默认的排序方式是“升序”,即从小到大排序。

3.2.1 sort()方法的语法

list.sort(key=None, reverse=False)

其中,参数key表示排序的规则,参数reverse表示排序方式,False时为“升序”,True时为“降序”。

3.2.2 相关代码

list1 = [1,4,2,5,3]

list1.sort()

print(list1)

[1, 2, 3, 4, 5]

以上代码使用默认参数,将list1中的元素进行从小到大排序。

list1.sort(reverse=True)

print(list1)

[5, 4, 3, 2, 1]

以上代码将list1中的元素进行从大到小排序。

>>> def func(x):

...     return len(x)

>>> list2 = ['a', 'AAA', 'aaAA', 'Aa']

>>> list2.sort(key = func)

print(list2)

['a', 'Aa', 'AAA', 'aaAA']

以上代码中,定义了一个名为func()的函数,该函数的作用是返回参数的长度。将该函数作为sort()方法的key参数,因为没有指定reverse参数,因此以上代码表示以元素的长度进行从小到大排序。

>>> list2.sort(key = func, reverse=True)

>>> print(list2)

['aaAA', 'AAA', 'Aa', 'a']

以上代码表示元素的长度进行从大到小排序。

3.2.3 注意事项

使用sort()方法对列表进行排序后,列表的变化是永久的,即使用sort()方法排序后,列表中元素的位置发生了变化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值