"""
题目:将一个列表的数据复制到另一个列表中。
"""
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. learn go random

    package main // 参考文档: // go 基本类型和运算符 // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/e ...

  2. swift 数组作为函数参数的书写格式

    数组定义 --[来自百度知道] Swift语言使用类型名紧接中括号[]来简化标准库中定义的命名型类型Array.例如 Array<String> = ["Alex", ...

  3. Codeforces Round #371 & HihoCoder1529【玄学】

    时间限制:40000ms 单点时限:2000ms 内存限制:256MB 描述 给定一个长度为 n 的非负整数序列 a[1..n]. 你每次可以花费 1 的代价给某个 a[i] 加1或者减1. 求最少需 ...

  4. aes加密/解密(转载)

    这篇文章是转载的康奈尔大学ece5760课程里边的一个final project,讲的比较通俗易懂,所以转载过来.附件里边是工程文件,需要注意一点,在用modelsim仿真过程中会出现错误,提示非法引 ...

  5. 实例-QPSK的fpga实现

  6. ecmall 挂件开发实例一

     (参考网上相关文章,进行测试点评,下述方法测试成功) 1:在页面上添加要展示的页面模块 <div class="left" area="bottom_foot&q ...

  7. 远程复制数据免登录 rsync 和 scp

    一.备用机上(用于存放备份的机器)  和 目标机上(需要备份的服务器 ,如 246) 都需要安装 :   yum install -y rsync 二.备用机上运行命令: -t rsa Generat ...

  8. 利用Instrument Leak来发现App中的内存泄露

    XCode提供了一组用于检测内存,调试动画,布局等的工具.对于调试一些性能问题,内存问题非常方便.这里我们使用Leak来发现代码中的内存泄露. 在Leak中启动我们的应用开始监控: 注意,在监控的时候 ...

  9. Android Java访问本地方法(JNI)

    当功能需要本地代码实现的时候,Java 代码就需要调用本地代码. 在调用本地代码时,首先要保证本地代码被加载到 Java 执行环境中并与 Java 代码连接在一起,这样 Java 代码在调用本地方法时 ...

  10. 【备忘录】yii2高级模板多个应用启用同一个域名多个栏目

    nginx部署方式,两种写法,本人认为第一种写法没有第二种写法优雅 第一种写法配置文件: server { listen ; server_name youban-dev.jqtest.mopon.c ...