您的位置:首页 > 编程语言 > Python开发

小甲鱼python零基础课后习题010列表:一个打了激素的数组01

2019-02-07 19:20 369 查看

一、测试题

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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: