"""
题目:将一个列表的数据复制到另一个列表中。
"""
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)的更多相关文章

  1. python学习——练习题(10)

    """ 题目:暂停一秒输出,并格式化当前时间. """ import sys import time def answer1(): &quo ...

  2. python学习——练习题(9)

    """ 题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. http://www.runoob.com/python/python-date- ...

  3. python学习——练习题(6)

    """ 题目:斐波那契数列. 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21 ...

  4. python学习——练习题(4)

    """ 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...

  5. python学习——练习题(1)

    """ 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...

  6. python学习——练习题(13)

    """ 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个" ...

  7. python学习——练习题(12)

    """ 题目:判断101-200之间有多少个素数,并输出所有素数. 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外 ...

  8. python学习——练习题(11)

    """ 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1 1 2 ...

  9. python学习——练习题(8)

    """ 题目:输出 9*9 乘法口诀表. """ def answer1(): """ 自己用最普通的双重循环 ...

随机推荐

  1. swift实现label换行

    so easy 换行的实质为在字符串中添加"\n" so, understand???

  2. 【剑指offer】二叉树的镜像,C++实现(先序遍历)

    原创博文,转载请注明出处!github地址  博客文章索引地址 1.题目       输入一颗二叉树,将二叉树变换为原二叉树的镜像,如下图所示: 2.思路 二叉树有0个节点 二叉树有1个节点 二叉树有 ...

  3. [转载][QT][SQL]sql学习记录6_sqlite Autoincrement(自动递增)

    转载自:定义以及示例请见 : http://www.runoob.com/sqlite/sqlite-autoincrement.html SQLite Autoincrement(自动递增) SQL ...

  4. iOS实现下拉放大的功能

    #import "HMViewController.h" ; @interface HMViewController () @property (nonatomic, weak) ...

  5. 安装vmware exsi 6.0(自制虚拟服务器)

    安装准备:2枚U盘.每个U盘大于2G.或者1枚光盘外加一枚U盘. exsi是一个虚拟服务容器.是一个专门运行虚拟的服务器系统. 关于服务的要求.由于exsi是专业的虚拟服务容器.所以服务器要求比较苛刻 ...

  6. linux下修改了tomcat端口之后无法访问

    查看防火墙,是否将修改之后的端口加入防火墙规则内,如没有,加入规则内,重启防火墙,如果还是无法访问,请看第二步 执行bin目录下shutdown.sh脚本,如果正常关闭,则执行startup.sh脚本 ...

  7. 每天一个linux命令:【转载】cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  8. gradle 构建包含源码配置

    参考配置: apply plugin: "idea" apply plugin: "groovy" apply plugin: "eclipse&qu ...

  9. cnpm 私服搭建(基于docker)

    备注:   使用docker-compose 进行安装 1. 代码clone git clone https://github.com/cnpm/cnpmjs.org.git 2. docker bu ...

  10. php、打印

    <!DOCTYPE HTML><html><head><meta http-equiv="content-type" content=&q ...