列表的常用内置方法笔记


1.向列表添加元素的三种方式:append、extend、insert
其中区别如下:
append:向列表的末尾元素添加元素
extend:使用一个列表来扩展另一个列表
insert:向列表指定的位置添加元素

需要注意以下代码中append(['20','30'])与extend(['20','30'])的区别

>>> member = ['xx','heiye','mitu','yijing']

(1#使用append直接向列表末尾添加元素
>>> member.append('10')
>>> member
['xx', 'heiye', 'mitu', 'yijing', '10']

#使用append直接向列表末尾添加一个列表元素
>>> member.append(['20','30'])
>>> member
['xx', 'heiye', 'mitu', 'yijing', '10', ['20', '30']]

#使用append直接向列表末尾添加多个元素则出错,不可添加多个元素
>>> member.append('40','50')
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    member.append('40','50')
TypeError: append() takes exactly one argument (2 given)

(2#使用extend直接向列表末尾添加多个列表元素,不可添加
>>> member.extend('40','50')
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    member.extend('40','50')    
TypeError: extend() takes exactly one argument (2 given)

#使用extend直接向列表末尾添加一个列表元素,扩展了原始列表
>>> member.extend(['40','50'])
>>> member
['xx', 'heiye', 'mitu', 'yijing', '10', ['20', '30'], '40', '50']

(3#使用insert向列表指定的索引处添加元素
>>> member.insert(1,'888')
>>> member
['xx', '888', 'heiye', 'mitu', 'yijing', '10', ['20', '30'], '40', '50']

>>> member.insert(3,['你好','测试','研发'])
>>> member
['xx', '888', 'heiye', ['你好', '测试', '研发'], 'mitu', 'yijing', '10', ['20', '30'], '40', '50']

2.从列表删除元素有三种方法,分别是del、remove、pop

>>> member = ['xx', 'heiye', 'mitu', 'yijing', '10', ['20', '30'], '40', '50']

(1#remove只需要知道列表元素的名称即可删除该元素
>>> member.remove('heiye')
>>> member
['xx', 'mitu', 'yijing', '10', ['20', '30'], '40', '50']

(2#del不是内置函数,是语句,删除指定的元素的索引即可删除该元素
>>> del member[2]
>>> member
['xx', 'mitu', '10', ['20', '30'], '40', '50']

#del +列表名称,表示将整个列表从内存中剔除
>>> del member
>>> member
Traceback (most recent call last):
  File "<pyshell#40>", line 1, in <module>
    member
NameError: name 'member' is not defined

(3)pop
>>> member = ['xx', 'mitu', '10', ['20', '30'], '40', '50']
#pop取出的元素会被删除
>>> member.pop()
'50'
>>> member
['xx', 'mitu', '10', ['20', '30'], '40']

#指定删除元素的索引,显示出来再删除
>>> member.pop(2)
'10'
>>> member
['xx', 'mitu', ['20', '30'], '40']

#通过赋值取出来再删除
>>> name = member.pop()
>>> name
'40'
>>> member
['xx', 'mitu', ['20', '30']]

3.列表的计数count及index(列表的内置函数)
内置函数则使用该列表.内置函数

#count为计算指定的元素出现的次数
list1 = ['xx', 'mitu', '10', ['20', '30'], '40']*3
>>> list1
['xx', 'mitu', '10', ['20', '30'], '40', 'xx', 'mitu', '10', ['20', '30'], '40', 'xx', 'mitu', '10', ['20', '30'], '40']

>>> list1.count('10')
3
>>> list1.count('20')
0

#index是查询指定元素的索引值,下面的查询的是从索引为3到索引为9的范围中查找元素‘10’的索引值为7
>>> list1
['xx', 'mitu', '10', ['20', '30'], '40', 'xx', 'mitu', '10', ['20', '30'], '40', 'xx', 'mitu', '10', ['20', '30'], '40']
>>> list1.index('10',3,9)
7

4.列表的排序(sort及sort(reverse))

>>> list1 = ['xx', 'mitu', '10', ['20', '30'], '40']

#将列表反向输出
>>> list1.reverse()
>>> list1
['40', ['20', '30'], '10', 'mitu', 'xx']

#对列表进行排序
>>> list2 = [1,5,7,9,2,3,6]
>>> list2.sort()
>>> list2
[1, 2, 3, 5, 6, 7, 9]

#对列表进行反向排序
>>> list2.sort(reverse = True)
>>> list2
[9, 7, 6, 5, 3, 2, 1]

#对列表进行正向排序
>>> list2.sort(reverse = False)
>>> list2
[1, 2, 3, 5, 6, 7, 9]

5.列表的copy和clear

>>> list1 = [1, 2, 3, 4, 5]
#对列表进行copy
>>> list2 = list1.copy()
>>> list2
[1, 2, 3, 4, 5]

#对列表进行清空操作,但是列表仍然存在,只不过为空
>>> list2.clear()
>>> list2
[]

6.列表的切片
切片的列表对原列表没有任何影响,相当于对原列表进行了一部分拷贝或者全部拷贝。

>>> member = ['xx', 'mitu', '10', ['20', '30'], '40', '50']

#切片中包含的值也是取前不取后,不包括结束的索引值
>>> member[1:4]
['mitu', '10', ['20', '30']]

#打印出原来的列表,表明切片后不影响原来的列表
>>> member
['xx', 'mitu', '10', ['20', '30'], '40', '50']

>>> member[3:4]
[['20', '30']]
>>> member
['xx', 'mitu', '10', ['20', '30'], '40', '50']

使用切片时也会有步长
>>> member = ['xx', 'mitu', '10', ['20', '30'], '40', '50']
>#列表中步长为2
>>> member[0:6:2]
['xx', '10', '40']

#切片支持负向索引
>>> member = ['xx', 'mitu', '10', ['20', '30'], '40', '50']
>>> member[-6:-1]
['xx', 'mitu', '10', ['20', '30'], '40']

7.list可以进行比较、拼接

>>> list1 = [234]
>>> list2 = [789]

#对两个list进行比较
>>> list1 > list2
False

#对list进行扩充
>>> list2 *= 3
>>> list2
[789, 789, 789]

#使用in或者not in进行元素查询
>>> 'test' in list2
False
>>> 789 in list2
True

>>> list9 = [22, 34, [666, 888], 'riqi', '菇凉']
>>> 22 not in list9
False
>>> 666 in list9
False


>>> 666 in list9[2][0]
Traceback (most recent call last):
  File "<pyshell#83>", line 1, in <module>
    666 in list9[2][0]
TypeError: argument of type 'int' is not iterable

#对列表中的列表进行查询时需使用索引
>>> list9[2][0]
666
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值