"""
题目:将一个列表的数据复制到另一个列表中。
"""
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. 程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)

    目录 第六章:数组 6-1 数组 6-2 数组计算 6.3 课后习题 第六章:数组 6-1 数组 题目:让用户输入一组整数以-1结束输入,算出这组数的平均值,并且输出大于平均值的数. 我们需要记录用户 ...

  2. ubuntu16.04 LTS grafana安装与启动

    1.首先从官网上下载相应的包,网址为:http://grafana.org/download 2.安装 cd Downloads sudo dpkg -i grafana_4.1.2-14869897 ...

  3. appium-java,连接真机启动微信

    1.启动appium 2.设置信息 3.设置IP和端口 4.appium连接手机,微信中打开debugx5.qq.com,信息->TBS settings->是否打开TBS内核Insper ...

  4. stm32寄存器版学习笔记07 ADC

    STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源.各通道的A/D转换可以单次.连续.扫描或间断模式执行. 1.通道选择 stm32把A ...

  5. 加密shell

    shc -v -r -T -f script-name >/dev/null 2>&1

  6. 应该抛出什么异常?不应该抛出什么异常?(.NET/C#)

    我在 .NET/C# 建议的异常处理原则 中描述了如何 catch 异常以及重新 throw.然而何时应该 throw 异常,以及应该 throw 什么异常呢? 究竟是谁错了? 代码中从上到下从里到外 ...

  7. 揭示同步块索引(中):如何获得对象的HashCode

    转自:http://www.cnblogs.com/yuyijq/archive/2009/08/13/1545617.html 题外话:为了尝鲜,也兴冲冲的安装了Win7,不过兴奋之余却郁闷不已,由 ...

  8. flask第十五篇——Response

    从这一节开始,我就要开始讲关于模板的知识了.先来学习一下Response的相关知识. 所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return ...

  9. 如何批处理多个MySQL文件

    @echo off CHCP 65001 --设置cmd编码for %%i in (E:\sql\*.sql) do (   --多个MySQL  SQL文件的存放目录echo excute %%i ...

  10. cocos2d js的一些tip

    cocos2d-js-v3.2-rc0 cc.director.end();//退出app cc.Application.getInstance().openURL("http://www. ...