小甲鱼python 第010讲:列表:一个打了激素的数组1

第010讲:列表:一个打了激素的数组1

讲课笔记

创建一个列表

1.匿名列表:>>> [1, 2, 3, 4, 5]#没啥乱用的列表
2.带变量名的列表:>>>number = [1, 2, 3, 4, 5]
3.列表的类型是’list’,如下所示:

>> num = [1, 2, 3]
>> type(num)
<class 'list'>

4.一个列表里面可以装各种东西,像是整数啊、浮点数啊、字符串啊、另一个列表啊,还可以装一个对象。

向列表中添加元素

三种方法:

1.append()方法:参数是元素,会将此元素添加到目标列表表尾。这个元素可以是各种东西;
2.extend()方法:此方法事实上是使用一个列表来扩充另一个列表,所以它的参数是另一个列表,也是添加至列表表尾;
3.insert()方法:两个参数,第一个参数是索引值,第二个参数是待插入的元素,其中索引值有特殊用法,可以是负数,负数表示距队尾元素的相对距离,如:

>>number = [0, 1, 2, 3]
>>number.insert(-1, 2.5)
>>number
[0, 1, 2, 2.5, 3]

4.这三种像是函数的东西并不是函数,而是列表对象的方法,这个小圆点’.‘可以理解为范围的意思,举例:append()这个方法是属于一个叫number的列表对象的。

思尻题

0. 列表都可以存放一些什么东西?

我答:整数、浮点数、字符串、对象、列表

鱼答:我们说 Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型。

>>> mix = [1, ‘小甲鱼’, 3.14, [1, 2, 3]]

思尻:牛逼,大杂烩~

1. 向列表增加元素有哪些方法?

我:三种‘方法’,append()、extend()、insert();

鱼:同上

思尻:对象的方法,要好好理解~

2. append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?

我:参数和细节不一样,一言以蔽之:

1.append()的参数是一个元素,功能是将这个元素添加至原始列表的尾部;
2.entend()的参数是一个列表,功能是将这个列表中的所有元素添加至原始列表的尾部。

鱼: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迷恋’]) 实现的效果一样吗?

我:不一样:

append()实现效果:[…, [‘竹林小溪’, ‘Crazy迷恋’]];
extend()实现效果:[…, ‘竹林小溪’, ‘Crazy迷恋’]。

鱼:看上一题

思尻:已经掌握了

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

我:name.insert(2, 's')

鱼:name.insert(2, 's')

思尻:ez~

冻手题

0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?

假设给定以下列表:
member = [‘小甲鱼’, ‘黑夜’, ‘迷途’, ‘怡静’, ‘秋舞斜阳’]
要求将列表修改为:
member = [‘小甲鱼’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡静’, 90, ‘秋舞斜阳’, 88]
方法一:使用 insert() 和 append() 方法修改列表。
方法二:重新创建一个同名字的列表覆盖。

我:

>>> member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
>>> member
['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
>>> member.insert(1, 88)
>>> member.insert(3, 90)
>>> member.insert(5, 85)
>>> member.insert(7, 90)
>>> member.append(88)
>>> member
['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> member
['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> 

鱼:
1:

member.insert(1, 88)
member.insert(3, 90)
member.insert(5, 85)
member.insert(7, 90)
member.append(88)

2:

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

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

思尻:没有最好的,只有最合适的

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

在这里插入图片描述

我:

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

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

鱼:

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

思尻:for 的用法,高级!

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

在这里插入图片描述
我:

#法一
>>> for temp in member:
	print(temp, end = ' ')
	if isinstance(temp, int):
		print()

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

鱼:

方法一:
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])

思尻:

1.了解对列表中元素的获取方式,member[索引值];
2.len()函数,可以用于返回列表的长度,也可用于返回字符串的长度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值