目录:
  一、创建列表

  二、向列表添加元素

  三、课时10课后习题及答案

***************

一、创建列表

***************

创建列表跟创建普通变量一样,用中括号括起一堆数据就可以了,数据之间用逗号隔开。

>>> number = [1,2,3,4,5]
>>> number
[1, 2, 3, 4, 5]
>>> len(number)
5

可以创建一个鱼龙混杂的列表:

>>> mix = [1,"小甲鱼",3.14,[1,2,3]]
>>> mix
[1, '小甲鱼', 3.14, [1, 2, 3]]

可以创建一个空列表:

>>> empty = []
>>> empty
[]

***********************

二、向列表添加元素

***********************

append()   extend()   insert()

要向列表中添加元素,可以使用append()方法:(注:append()不是一个BIF,它属于列表对象的一个方法)

>>> number = [1,2,3,4,5]
>>> number.append(6)
>>> number
[1, 2, 3, 4, 5, 6]

我们把数字7和8添加进去,但是发现并不能用append()同时添加多个元素:这时候我们可以使用extend()方法向列表末尾添加多个元素:

>>> number.append(7,8)
Traceback (most recent call last):File "<pyshell#3>", line 1, in <module>number.append(7,8)
TypeError: append() takes exactly one argument (2 given)
>>> number.extend(7,8)
Traceback (most recent call last):File "<pyshell#4>", line 1, in <module>number.extend(7,8)
TypeError: extend() takes exactly one argument (2 given)

怎么都报错了呢?!extend()方法事实上使用一个列表来扩展另一个列表,所以它的参数应该是一个列表:

>>> number.extend([7,8])
>>> number
[1, 2, 3, 4, 5, 6, 7, 8]

如果想要往列表的任意位置插入元素,就要使用insert()方法。insert()方法有两个参数:第一个参数代表在列表中的位置,第二个参数是在这个位置处插入一个元素。不妨来试一下,让数字0出现在列表number的最前边:(注:列表的第一位索引值是0)

>>> number.insert(0,0)
>>> number
[0, 1, 2, 3, 4, 5, 6, 7, 8]

*******************************

三、课时10课后习题及答案

*******************************

测试题:
  
0. 列表都可以存放一些什么东西?
1. 向列表增加元素有哪些方法?
2. append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
3. member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
4. 有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?

动动手:
 
0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
假设给定以下列表:
member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
要求将列表修改为:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
方法一:使用 insert() 和 append() 方法修改列表。
方法二:重新创建一个同名字的列表覆盖。

1. 利用 for 循环打印上边 member 列表中的每个内容,如图:

小甲鱼
88
黑夜
90
迷途
85
怡静
90
秋舞斜阳
88

2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】

小甲鱼 88
黑夜 90
迷途 85
怡静 90
秋舞斜阳 88

答案:

测试题答案:
 
0. 列表都可以存放一些什么东西?
我们说 Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型。
 
1. 向列表增加元素有哪些方法? 
这节课我们教过大家三种方法想列表增加元素,分别是:append()、extend() 和 insert()。
2. append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
append() 方法是将参数 作为一个元素增加到列表的末尾。
extend() 方法则是将参数 作为一个列表去扩展列表的末尾。
>>> name = ['F', 'i', 's', 'h']
>>> name.append('C')
>>> name
['F', 'i', 's', 'h', 'C']
>>> name.extend(['.', 'c'])
>>> name
['F', 'i', 's', 'h', 'C', '.', 'c']
>>> name.append(['o', 'm'])
>>> name
['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']]

3. member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
不一样,因为怕大家没有仔细看上一题的示例,所以不懂的请看上一题解释。
>>> member = [1,2,3]
>>> member.append(['竹林小溪', 'Crazy迷恋'])
>>> member
[1, 2, 3, ['竹林小溪', 'Crazy迷恋']]
>>> member = [1,2,3]
>>> member.extend(['竹林小溪', 'Crazy迷恋'])
>>> member
[1, 2, 3, '竹林小溪', 'Crazy迷恋']

4. 有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?
name.insert(2, 's')

动动手答案:
 
0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
假设给定以下列表:
member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
要求将列表修改为:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
方法一:使用 insert() 和 append() 方法修改列表。
方法二:重新创建一个同名字的列表覆盖。
解答:
方法一:
member.insert(1, 88)
member.insert(3, 90)
member.insert(5, 85)
member.insert(7, 90)
member.append(88) #或者写成 member.insert(9,88)也可以

方法二:

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

对于这种情况,明显是第二种方法看起来要好一些嘛。
不过对于大型的列表,第一种方法可能更合适,所以我们说永远没有最好的,只有最合适的。

1. 利用 for 循环打印上边 member 列表中的每个内容

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:print(each)

>>> member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> for each in member:print(each)小甲鱼
88
黑夜
90
迷途
85
怡静
90
秋舞斜阳
88

2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】

方法一:
count = 0
length = len(member)
while count < length:print(member[count], member[count+1])count += 2方法二:    for each in range(len(member)):if each%2 == 0:print(member[each], member[each+1])

小甲鱼 88黑夜 90迷途 85怡静 90秋舞斜阳 88

我们来分析下:题目要求是要将每个名字跟对应的成绩打印在同一行。我们来看看,第一列全是名字,索引值依此是0,2,4,6,8,同理第二列的成绩全是奇数,索引值依此是1,3,5,7,9.不由得让人想到了判断奇偶数的%,另外,要呈现print(number[x],number[x+1])的结果,里面的第一个索引值可以依赖for循环的range()内建函数,加上奇偶的判断实现。 方法一是通过while循环,每次循环加2。同样的原理。

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
print(len(member))
print(member[10])
for i in range(0,len(member), 2):print(member[i],member[i+1])

  

值得注意的一点是这里 range()内建函数的 each的值不会受到 循环体内 range变量变化的影响。

转载于:https://www.cnblogs.com/DC0307/p/9382472.html

课时10:列表:一个打了激素的数组1相关推荐

  1. 零基础入门学习Python 011列表:一个打了激素的数组2

    知识点总结 从列表中获取元素 通过元素的索引值(index)从列表中获取单个元素,注意:列表索引值从0开始的 利用中间值,把两者进行交换,x,y=2,7;temp = y;y=x;x=temp nam ...

  2. 课时11:列表:一个打了激素的数组2

    目录: 一.从列表中获取元素 二.从列表删除元素 三.列表分片 四.列表分片的进阶玩法 五. 课时11课后习题及答案 ************************** 一.从列表中获取元素 *** ...

  3. 010-012列表:一个打了激素的数组

    列表:字符串,数字,列表,元组,字典,对象 mix=[1,3.14,'小甲鱼',[7,8,9],[]] >>> mix [1, 3.14, '小甲鱼', [7, 8, 9], []] ...

  4. 3.列表(一个打了激素的数组)

    注解:列表的索引从0开始 1.创建列表empty = []list1 = [1,2,3]list2 = [1,2,[1,2,3],'list',3.14] 2.向列表的尾部添加元素:append()l ...

  5. 小甲鱼第十一课:列表:一个“打了激素”的数组2总结反思

    2. 如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做? member = ['小甲鱼',88,'黑夜',90,'迷途',85,'易经',90,'斜阳',88] mem ...

  6. (6) 如何用Apache POI操作Excel文件-----POI-3.10的一个和注解(comment)相关的另外一个bug...

    如果POI-3.10往一个工作表(sheet)里面插入数据的话,需要注意了,其有一个不太被容易发现的bug. 被插入的工作表(sheet)里面的单元格没有包含任何的注解(comment)的时候,插入一 ...

  7. 如何降低计算机版本,Win10系统如何降级版本的?回退到Windows 10上一个版本的方法...

    在十月份,微软为Windows10系统带来了Win10 1809版本,由于该版本BUG导致了不少问题,例如导致文件被删.桌面文件丢失.电脑没有声音等问题,目前微软已经停止了对该版本的推送.而如果您是已 ...

  8. 6-2 指针与数组-矩阵的各列求和分数 10 本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:

    本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和.将各列和存放在一个至少7个单元的一维数组中. 函数接口定义: void fun ( int data[][7], int resu ...

  9. Java //PP2.10 编写一个程序,确定瓶子里的硬币总面值并以美元和美分为单位打印输出总钱数。读取分别代表25美分、10美分、5美分、1美分硬币数量的整数

    Java程序设计教程(第七版) John Lewis & William Loftus 电子工业出版社 PP2.10 编写一个程序,确定瓶子里的硬币总面值并以美元和美分为单位打印输出总钱数.读 ...

最新文章

  1. 美科学基金会欲向公众征集想法
  2. 关于Mozilla浏览器不支持innerText的解决办法
  3. 2018计算机一级题库百度云,2018年全国计算机一级考试题库及答案
  4. linux deb文件安装_如何在 Ubuntu 上安装 VirtualBox | Linux 中国
  5. hdu 4686 Arc of Dream
  6. python import xlrd 报错_python读取excel(xlrd)
  7. [html] 在主框架下引入的iframe,如果检测这个iframe是否能打开,如果打不开则跳到404页面
  8. FMCW毫米波雷达原理
  9. 马斯克:大量特斯拉汽车将会在年底前交付
  10. VFP访问外部数据源的几种方法
  11. C++ std::move/std::forward/完美转发
  12. vs2015未能正确加载“ProviderPackage”包
  13. 一个服务调用另一个服务的步骤
  14. php中lpush(),lPush 命令/方法/函数
  15. 获取局域网电脑的硬件配置
  16. win10修改和隐藏系统输入法指示器
  17. 基于单片机的条形码扫描系统设计
  18. linux 路由转发 ipv6,IPv6路由
  19. 【弄nèng - Activiti6】Activiti6入门篇(十九)—— 结束事件
  20. STM32-SPI的NSS详解

热门文章

  1. Starrocks集群部署
  2. 从Java程序猿到产品经理
  3. 嵌入式硬件工程师应具备哪些基本技能?
  4. c++中的system(pause)的作用
  5. int,Uint,uint16的区别及用处
  6. 100+免费可商用字体分享
  7. android热更新机制
  8. 2021-06-21 12点 程序外生活 - 中国A50指数 机器预测学习跟踪记录 - 周六反弹失败,等待跌完,继续等待4小时第一个底分型出现。周月线持续跌势。
  9. Java SE 小白学习笔记 周周测 从小白到大牛
  10. Android Fragment 使用解析