python学习——练习题(7)
"""
题目:将一个列表的数据复制到另一个列表中。
"""
import copy def validate(a, b):
"""
验证复制结果
:param a:
:param b:
:return:
"""
print("a =", a)
print("b =", b)
print("a == b is", a == b)
print("id(a) =", id(a))
print("id(b) =", id(b))
a[0][0] = 0
print("a[0][0] = 0后,a =", a)
print("a[0][0] = 0后,b =", b)
a[0] = 1
print("a[0] = 1后,a =", a)
print("a[0] = 1后,b =", b) def answer1():
"""
直接将列表a=列表b,那么a和b是完全相同的,a列表发生改变时,b列表会跟着改变
:return:
"""
print("输出一:")
a = [[1, 2], [3, 4]]
b = a
validate(a, b) answer1() def answer2():
"""
手动复制一层
:return:
"""
print("\n输出二:")
a = [[1, 2], [3, 4]]
b = []
for i in a:
b.append(i)
validate(a, b) answer2() def answer3():
"""
利用列表自带的copy方法,但是也只能copy一层
:return:
"""
print("\n输出三:")
a = [[1, 2], [3, 4]]
b = a.copy()
validate(a, b) answer3() def answer4():
"""
利用列表的切片
:return:
"""
print("\n输出四:")
a = [[1, 2], [3, 4]]
b = a[:]
validate(a, b) answer4() def answer5():
"""
深拷贝copy.deepcopy
:return:
"""
print("\n输出五:")
a = [[1, 2], [3, 4]]
b = copy.deepcopy(a)
validate(a, b) answer5() def answer6():
"""
浅拷贝copy.copy,同answer3
:return:
"""
print("\n输出六:")
a = [[1, 2], [3, 4]]
b = copy.copy(a)
validate(a, b) answer6() def answer7():
"""
使用列表生成式
利用列表的for处理,好像是生成器
:return:
"""
print("\n输出七:")
a = [[1, 2], [3, 4]]
b = [i for i in a]
validate(a, b) answer7() def answer8():
"""
利用列表乘以1来生成
序列相加 相乘:
[1,2,3]+[4,5,6]=[1,2,3,4,5,6] 学列相加就是连接在一起
[1,2,3]*3=[1,2,3,1,2,3,1,2,3] 序列乘以一个常数N就是将序列复制N次
[1,2,3]*[1,2,3]=[] 报错TypeError
:return:
"""
print("\n输出八:")
a = [[1, 2], [3, 4]]
b = a * 1
validate(a, b) answer8() def answer9():
"""
表1拓展到表2中
:return:
"""
print("\n输出九:")
a = [[1, 2], [3, 4]]
b = []
b.extend(a)
validate(a, b) answer9()
python学习——练习题(7)的更多相关文章
- python学习——练习题(10)
""" 题目:暂停一秒输出,并格式化当前时间. """ import sys import time def answer1(): &quo ...
- python学习——练习题(9)
""" 题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. http://www.runoob.com/python/python-date- ...
- python学习——练习题(6)
""" 题目:斐波那契数列. 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21 ...
- python学习——练习题(4)
""" 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...
- python学习——练习题(1)
""" 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...
- python学习——练习题(13)
""" 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个" ...
- python学习——练习题(12)
""" 题目:判断101-200之间有多少个素数,并输出所有素数. 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外 ...
- python学习——练习题(11)
""" 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1 1 2 ...
- python学习——练习题(8)
""" 题目:输出 9*9 乘法口诀表. """ def answer1(): """ 自己用最普通的双重循环 ...
随机推荐
- linux下环境变量PATH设置错误的补救
本文转自: http://blog.clzg.cn/blog-614449-740527.html 之前不小心在/etc/profile中添加了错误的PATH变量,导致几乎所有的系统命令无法使用 ...
- 【Codeforces】Round #488 (Div. 2) 总结
[Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...
- [Aizu2784]Similarity of Subtrees
vjudge Description 给一棵\(n\)个节点的有根树,定义两棵树同构当且仅当他们每个深度的节点个数相同.问这个树上有多少对子树满足同构.\(n\le100000\). sol 树\(h ...
- .OPF文件剖析
OPF文档是epub电子书的核心文件,且是一个标准的XML文件,依据OPF规范,主要由五个部分组成: 1.<metadata>,元数据信息,由两个子元素组成: <dc-metadat ...
- python pandas 对各种文件的读写 IO tools
The pandas I/O API is a set of top level reader functions accessed like pd.read_csv() that generally ...
- C# 汉字转拼音 方法(汉字的发音不过400多种(不算声调))
/* * 2009年8月6日13:19:20 * 调用:this.label1.Text = DXHanZiToPinYin.DXHanZiToPinYin.Convert(this.textBox1 ...
- JS和C#对Json的操作
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式.博主记得几年前在华为外包项目中有一个和Android应用交互的需求,Andr ...
- 系列文章--Enterprise Library文章总结
自Enterprise Library 1.1 推出以来,Terry写了一系列的关于Enterprise Library的文章,其中得到了很多朋友的支持,在这里一并表示感谢.为了方便大家的阅读,这里我 ...
- php array_push 与 $arr[]=$value 性能比较
1.array_push方法 array_push 方法,将一个或多个元素压入数组的末尾. int array_push ( array &$array , mixed $var [, mix ...
- OpenCL入门
初入OpenCL,做个记录. 在Windows下开发OpenCL程序,必须先下载OpenCL的SDK,现在AMD,NVIDIA,Intel均提供各自的OpenCL库,基本是大同小异.安装好SDK后新建 ...