零基础学习Python 作业 第11-12章
2018-03-09 23:09
260 查看
==========CH11-12 homework==========
CH11 知识点回顾
主要函数:remove() del pop() slice
CH12 知识点回顾
列表使用。dir(list)
0 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
如果不上机操作,你觉得会打印什么内容?
Answer:[1, 2, 3, 4, 5]
注意下面这个测试,复制尽量选择slice
1 请问如何将下边这个列表的’小甲鱼’修改为’小鱿鱼’?
Answer: list1[1][2][0] = ‘小鱿鱼’
2 要对一个列表进行顺序排序,请问使用什么方法?
Answer: 使用内置函数sort(), A.sort()
3 要对一个列表进行逆序排序,请问使用什么方法?
Answer: 使用内置函数sort(), A.sort(reverse = True)
4 列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy() 和 clear()
Answer: 先描述想法,copy()美其名曰“复制”,应该可以控制复制的位置和区间;clear()应该和remove()类似
Test:
总结:clear()直接清除列表,但内存空间还在,你可以看到D = [];
copy直接复制列表,而且不会由原来的引起的改变影响,跟切片一样。
5 你有听说过列表推导式或列表解析吗?没听过?!没关系,我们现场来学习一下吧,看表达式:
IDLE TEST
6 活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分
7 请写下本节课学到的内容
important: slice, copy, clear. A[:] A.copy() A.clear()
列表推导式:list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
CH11 知识点回顾
主要函数:remove() del pop() slice
member = [1, 2, 3, 4, 5] member.remove(2) # 这里移除是考虑移除的对象,不是指针的位置,但是不是移除所有的相同值,移除最前面的 member.pop() # 跟数据结构的栈一样,从线上往下拿。不指出位置,就先考虑矩阵(列表的)最后一位. member.pop() # .pop(2) 是指'3', 位置为2, .remove(2) 是指值'2',位置在1 del member # 删除member del member[0] # 删除member第一个位置的值 #slice member[1:3] = [2,3,4] # 从位置1到位置3(不包含位置3) member[1:] = [2,3,4,5] member[:4] = [1,2,3,4] member[:] =[1,2,3,4,5]
CH12 知识点回顾
列表使用。dir(list)
list1 = [123,231] 123 in list1 True list1.count() list1.index(231) list1.reverse()
0 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
1. >>> old = [1, 2, 3, 4, 5] 2. >>> new = old 3. >>> old = [6] 4. >>> print(new)
如果不上机操作,你觉得会打印什么内容?
Answer:[1, 2, 3, 4, 5]
注意下面这个测试,复制尽量选择slice
这里主要说明分片“拷贝”,如果用slice是用的直接拷贝,相当于开辟新内存 而直接复制则是指向原始内存。 但是,如果你修改了B,A也是不会变的。这里仅处理位置变换 >>> A [2, 2, 3, 3, 4, 4, 5, 5] >>> C = B[:] >>> C [2, 2, 3, 3, 4, 4, 5, 5] >>> B.sort(reverse = True) >>> A [5, 5, 4, 4, 3, 3, 2, 2] >>> B [5, 5, 4, 4, 3, 3, 2, 2] >>> C [2, 2, 3, 3, 4, 4, 5, 5]
1 请问如何将下边这个列表的’小甲鱼’修改为’小鱿鱼’?
list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
Answer: list1[1][2][0] = ‘小鱿鱼’
2 要对一个列表进行顺序排序,请问使用什么方法?
Answer: 使用内置函数sort(), A.sort()
3 要对一个列表进行逆序排序,请问使用什么方法?
Answer: 使用内置函数sort(), A.sort(reverse = True)
4 列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy() 和 clear()
Answer: 先描述想法,copy()美其名曰“复制”,应该可以控制复制的位置和区间;clear()应该和remove()类似
Test:
>>>A = [1, 2, 3, 4, 5, 6] >>>B = A.copy() B = [1, 2, 3, 4, 5] >>>A.sort(reverse = True) B = [1, 2, 3, 4, 5, 6] A = [6, 5, 4, 3, 2, 1] >>>C = A.copy(1) TypeError: copy() takes no arguments (1 given) >>>C = A.copy() >>>D = C.clear() >>>D [] >>>D = C.clear(1) TypeError: clear() takes no arguments (1 given)
总结:clear()直接清除列表,但内存空间还在,你可以看到D = [];
copy直接复制列表,而且不会由原来的引起的改变影响,跟切片一样。
5 你有听说过列表推导式或列表解析吗?没听过?!没关系,我们现场来学习一下吧,看表达式:
>>> [ i*i for i in range(10) ] 你觉得会打印什么内容? 1.>>> [i*i for i in range(10)] 2.[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 居然分别打印了0到9各个数的平方,然后还放在列表里边了有木有?! 列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。 Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如: [有关A的表达式 for A in B] 例如 1. >>> list1 = [x**2 for x in range(10)] 2. >>> list1 3. [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 复制代码 相当于 1. list1 = [] 2. for x in range(10): 3. list1.append(x**2) 复制代码 问题:请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来。 1. >>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
IDLE TEST
>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0] >>> list1 [(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
code
list1 = [] for x in range(10): for y in range(10): if x % 2 == 0 and y % 2 != 0: list1.append( (x, y) )
6 活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
7 请写下本节课学到的内容
important: slice, copy, clear. A[:] A.copy() A.clear()
列表推导式:list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
相关文章推荐
- 零基础学习Python 作业 第5章
- 零基础学习Python 作业 第14章
- 零基础学习Python 作业 第21章
- 零基础学习Python 作业 第23-24章
- 零基础学习Python 作业 第30章
- 零基础学习Python 作业 第25章
- 零基础学习Python 作业 第26章
- 零基础学习Python 作业 第6章
- 零基础学习Python 作业 第3章
- 零基础学习Python 作业 第16章
- 零基础学习Python 作业 第17章
- 零基础学习Python 作业 第9章
- 零基础学习Python 作业 第1章
- 零基础学习Python 作业 第7-8章
- 零基础学习Python 作业 第4章
- python基础学习小作业(一)
- 零基础学习Python 作业 第18章
- 零基础学习Python 作业 第28章
- 零基础学习Python 作业 第13章
- 零基础学习Python 作业 第20章