小甲鱼python教程第10-12讲--python列表内置方法 笔记习题答案
一丶列表BIF
1.获取元素索引值(索引值从0开始): index()
2.从列表中删除元素:①remove(参数名字): list.remove(参数名字)
②del del list[1]或者删除整个列表: del list
③pop() 取出最后一个元素:list.pop() 或者list.pop(1)删除索引值为1的元素
3.列表分片:一次性获取多个元素:slice
①list[1:3] 索引值为1,2的元素 list[1:],list[:],list[:3]都可以
二丶列表常用操作符
比较操作符:>,<,==
逻辑操作符:and, or, not
连接操作符:+
重复操作符:*
成员关系操作符:in, not in
三丶列表类型内置函数BIF
dir(list)可以查看内置函数
①count:元素在列表中出现的次数 list.count(元素名)
②index:索引值 list.index(元素名,起始位置,结束位置)
③reverse:翻转列表
④sort:从小到大排序 list.sort(reverse=True) 前两个为默认参数 从大到小排序
⑤append:在list结尾处添加一个元素
⑥extend:可以把一个列表加入一个列表合成一个列表
⑦insert:根据索引插入一个元素 :list.insert(索引,元素)
list1=list[:]与list2=list拷贝的区别:
list1不会跟着list的变化而变化 list2会根据list变化而变化
list1相当于是一个指向list的标签
习题和答案
1.列表中可以存放一些什么东西?
他可以存放我们学过的什么数据类型,mix=[1,2.18,’小孩’,[1.3,’哈哈’]]
2.向列表中增加元素有哪些方法?
BIF内置函数有:insert append extend
3.append()和extend()都是想列表末尾添加元素,请问他们有什么区别?
append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾。
4.有列表 name = [‘F’, ‘i’, ‘h’, ‘C’],如果小甲鱼想要在元素 ‘i’ 和 ‘h’ 之间插入元素 ‘s’,应该使用什么方法来插入?
insert:利用name.insert(2,‘s’)
5.member.append([‘竹林小溪’, ‘Crazy迷恋’]) 和 member.extend([‘竹林小溪’, ‘Crazy迷恋’]) 实现的效果一样吗?
不一样
append menber最后变成[….,[‘竹林小溪’, ‘Crazy迷恋’]]
extend member最后变成[….,’竹林小溪’,‘Crazy迷恋’]
1.假设给定以下列表:
member = [‘小甲鱼’, ‘黑夜’, ‘迷途’, ‘怡静’, ‘秋舞斜阳’]
要求将列表修改为:**
member = [‘小甲鱼’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡静’, 90, ‘秋舞斜阳’, 88]
方法一:使用 insert() 和 append() 方法修改列表。
方法二:重新创建一个同名字的列表覆盖。
方法一:
member.insert(1,88)
member.insert(3,90)
…
member.append(88)
方法二:
member=[‘小甲鱼’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡静’, 90, ‘秋舞斜阳’, 88]
2.用for循环打印上边的列表中的每个内容
member=[‘小甲鱼’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡静’, 90, ‘秋舞斜阳’, 88]
for each in menber:
print(each)
3.请问如何将下边的列表中‘小甲鱼’改为‘小鱿鱼’
list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
list1[2][3][0]='小鱿鱼'
4.要对一个列表进行顺序排序,请问用什么方法?
list.sort()
5.要对一个列表进行逆序排序,请问使用什么方法?
list.sort(reverse=True)
6.介绍一下列表内置函数copy和clear的作用?
copy:list1=list.copy(),将list赋值给list1
clear:清空列表
7. 你有听说过列表推导式或列表解析吗?
结构:[有关A的表达式 for A in B]
[i**i for i in range(1,10,2)]
结果为[1, 27, 3125, 823543, 387420489]
**list1=[(x,y)for x in range(10)for y in range(10)if x%2==0 if y%2!=0]**
结果为[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
上一篇: Java从零开始