小甲鱼python零基础课后习题010列表:一个打了激素的数组01
一、测试题
0. 列表都可以存放一些什么东西?
1. 向列表增加元素有哪些方法?
2. append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
3. member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
4. 有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?
二、动动手
0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
[code]#给定以下列表 member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳'] #要求修改为: member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
1. 利用 for 循环打印上边 member 列表中的每个内容,如图:
[code]member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] for each in member: print(each)
2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
[code]>>> old = [1, 2, 3, 4, 5] >>> new = old >>> old = [6] >>> print(new)
如果不上机操作,你觉得会打印什么内容?
3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
我的答案
一、
0. 字符串、数字(整型、浮点型、e计数等)、列表
1. append() 末尾添加,不变结构; extend()末尾多个添加; insert()指定位置添加
2. 共同点:append和extend括号内的输入对象(argument)只能是一个;都是向列表末尾增加元素。
不同点:append添加的是单个的元素,被添加的元素在List中保持着原结构类型;extend可以添加多个元素,但是这些元素必须用一个列表表示,将一个列表中每个元素分别添加到另一个列表中
3. 不一样。append添加方式中被添加的元素在List中保持着原结构类型;extend添加方式中列表中每个元素分别添加到另一个列表中了。结合程序说明如下:
[code]>>> member = ['松鼠', '小鸡', '小鱼'] >>> member.append(['竹林小溪', 'Crazy迷恋']) >>> member ['松鼠', '小鸡', '小鱼', ['竹林小溪', 'Crazy迷恋']] #append未改变数据结构 >>> member = ['松鼠', '小鸡', '小鱼'] >>> member.extend(['竹林小溪', 'Crazy迷恋']) >>> member ['松鼠', '小鸡', '小鱼', '竹林小溪', 'Crazy迷恋'] #extend将新列表中的元素逐个插入到了原列表末尾
4. insert(index, object) 第一个参数是选择在原列表的哪个位置为插入点(实际插入的地方是该参数减1的位置),第二个参数是你想要插入的对象(元素)。比如此题可以这样写:name.insert(2,‘s’)。结合程序说明如下:
[code]>>> name = ['F', 'i', 'h', 'C'] >>> name.insert(1,2,'s') [Traceback (most recent call last): File "<pyshell#66>", line 1, in <module> name.insert(1,2,'s') TypeError: insert() takes exactly 2 arguments (3 given)] #证明insert只能输入两个参数 >>> name.insert(2,'s') >>> name ['F', 'i', 's', 'h', 'C']
二、
0. 用insert在处理对个插入对象时更方便,下面的程序利用了循环,并对名字进行了扩充已验证其正确性:
[code]member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳', '小鸡', '鸭子'] score = [88, 90, 85, 90, 88, 80, 86] for i in range(0,7): for j in range(0,7): if i == j: member.insert(i+j+1, score[j]) #对应的分数需要插入到对应名字的右边,所以i+1,每次加入一个分数后,名字的位置会相应增加一个j的单位,故i+1+j print(member) #输出结果:['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88, '小鸡', 80, '鸭子', 86]
1. 实践结果:
[code]小甲鱼 88 黑夜 90 迷途 85 怡静 90 秋舞斜阳 88
2. 程序如下:
[code]member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] for i in range(len(member)): if i%2 == 0: print(member[i], member[i+1]) #输出结果: 小甲鱼 88 黑夜 90 迷途 85 怡静 90 秋舞斜阳 88
会打印出:[1, 2, 3, 4, 5]
3. 课堂重点:
- python的列表(List)与C语言的数组:列表是一个打了激素的数组。列表里面的元素可以是不同类型。功能更强。
数组:一个数组中的变量必须是同类型的。 - 学会创建列表:创建普通列表: menber = ['小甲鱼', ‘小布]
创建混合列表:mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
创建空列表:empty = [] 注:列表的标志是中括号括起来的对象组,每个对象用逗号和隔开。 - 向列表添加元素:
1.append(): menber.append('福禄娃娃') append的调用和普通BIF。属于对象的函数叫方法,故要加.来限制。但一次只能加入一个元素
2.extend():menber.extend() 可以同时加入两个元素。原理是使用一个列表来扩展原来列表,故它输入的参数应是一个列表
3.insert(): menber.insert(顺序数,元素)顺序数是从0开始,此BIF可以控制元素插入列表的位置 - 获取列表的长度(或者统计列表有多少个对象):len(menber)-->列表长度
参考答案:https://www.jianshu.com/p/3d461da86c42
作者:无罪的坏人
链接:https://www.jianshu.com/p/e7226241eed0
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
- 小甲鱼python零基础课后习题012列表:一个打了激素的数组03
- 小甲鱼python零基础课后习题011列表:一个打了激素的数组02
- 第011讲:列表:一个打了激素的数组2 | 学习记录(小甲鱼零基础入门学习Python)
- 列表:一个打了激素的数组2 - 零基础入门学习Python011
- 列表:一个打了激素的数组3 - 零基础入门学习Python012
- 零基础入门学习Python(12)--列表:一个打了激素的数组(3)
- 零基础入门学习Python(12)--列表:一个打了激素的数组(3)
- 【零基础入门学习Python笔记010】一个打了激素的数组1
- 零基础入门学习Python(10)--列表:一个打了激素的数组
- 零基础入门学习Python(10)--列表:一个打了激素的数组
- 零基础入门学习Python(11)--列表:一个打了激素的数组(2)
- 【零基础入门学习Python笔记012】一个打了激素的数组3
- 【零基础入门学习Python笔记011】一个打了激素的数组2
- 010:列表:一个打了激素的数组
- Python-6 Python列表-一个打了激素的数组(1)
- Python-8 Python列表-一个打了激素的数组(3)
- 列表:一个打了激素的数组 - 零基础入门学习Python010
- 【零基础入门学习Python笔记012】一个打了激素的数组3
- Python-7 Python列表-一个打了激素的数组(2)
- 010列表:一个打了激素的数组