零基础学习Python 作业 第10章
0. 列表都可以存放一些什么东西?
int, char, float, array…..
1 向列表增加元素有哪些方法?
append, insert, extend
e.g. member = [1, 2, 3, 4, 5]
比如插入数字9:
>>>member.append(9)
# append 只接受一个数, 不限类型 [ 1, 2, 3, 4, 5, 9 ]
>>>member.extend([9])
# extend 只接受一个,注意是一个列表或者一个字符串,“我理解为数组,列表” [ 1, 2, 3, 4, 5, 9, 9 ]
>>>member.extend('love')
[ 1, 2, 3, 4, 5, 9, 9, 'l', 'o', 'v', 'e' ]
>>>member.insert(0, 6)
[ 6, 1, 2, 3, 4, 5, 9, 9, 'l', 'o', 'v', 'e' ]
2 append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
append()增加单个元素到列表末尾
extend() 可增加多个元素到列表末尾
3. member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
不一样,append (['竹林小溪', 'Crazy迷恋'])已一个元素身份加入到列表末尾
extend 以两个 元素 '竹林小溪', '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 = ['小甲鱼', 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 range(len(member)):
if each % 2 == 0:
print(member[each], member[each+1])
# method2
length = len(member)
i = 0
while i < length:
print(member[i], member[i+1])
i += 2
# method3
count = 0
for each in member:
if count % 2 == 0:
print(each, end = ' ')
else:
print(each)
count += 1
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:
if isinstance(each,str):
sstr1 = each
else:
sstr2 = each
print(sstr1,sstr2)