第010讲:列表:一个打了激素的数组1 | 课后测试题及答案

列表的各种方法总结:https://fishc.com.cn/thread-166466-1-2.html

测试题:

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

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

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

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

append()
extend()
insert()

这节课我们教过大家三种方法想列表增加元素,分别是:append()、extend() 和 insert()。

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

append() 是在列表末尾追加一个元素,参数是一个元素
extend() 实在列表末尾拼接一个列表,参数是一个列表

append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾。

3. member.append([‘竹林小溪’, ‘Crazy迷恋’]) 和 member.extend([‘竹林小溪’, ‘Crazy迷恋’]) 实现的效果一样吗?

不一样
member.append([‘竹林小溪’, ‘Crazy迷恋’])中,[‘竹林小溪’, ‘Crazy迷恋’]是将该列表作为一个元素放在member列表中的
member.extend([‘竹林小溪’, ‘Crazy迷恋’])中,‘竹林小溪’, 'Crazy迷恋’是作为两个元素放在member列表中

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 = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

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

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

Alt

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:
   print(each)
  1. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】

    Alt
    方法一

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:
    if member.index(each) % 2 == 0:
        print(each, end=' ')
    else:
        print(each)

小甲鱼方法:

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
count = 0
lens = len(member)
while count < lens:
    print(member[count], member[count+1])
    count += 2


member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in range(len(member)):
    if each % 2 == 0:
        print(member[each], member[each+1])
       
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值