7):题目:将一个列表的数据复制到另一个列表中。

    程序分析:使用列表[:]。

    程序源代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*- a = [1, 2, 3]
b = a[:]
print b

    以上实例输出结果为:

[1, 2, 3]

    使用 Python2 的参考解法:

>>> import copy
>>> a = [1, 2, 3]
>>> b=copy.copy(a)
>>> print(b)
[1, 2, 3]

    使用 Python3 的参考解法:

>>> a = [1, 2, 3]
>>> b=a.copy()
>>> print(b)
[1, 2, 3]

    使用列表生成式:

>>> a=[1,2,3,4]
>>> b=[i for i in a]
>>> print(a)
[1, 2, 3, 4]
>>>
#!/usr/bin/env python
# -*- coding: UTF-8 -*- """将一个列表的数据复制到另一个列表中。""" """
使用[:] """ a = [1,2,3]
b = a[:]
print b # 将a的数据赋值给b 当a的数值发生改变时b不变
[1, 2, 3]
a = [1,2,3]
b = a
print b # 将a的地址赋值给b 当a的数值发生改变时b随之改变
[1, 2, 3]
a = [1,2,3]
b = a[:]
print b
a[0] = 0
print a # 将a的数据赋值给b 当a的数值发生改变时b不变
print b
[1, 2, 3]
[0, 2, 3]
[1, 2, 3]
a = [1,2,3]
b = a
print b
a[0] = 0
print a # 将a的地址赋值给b 当a的数值发生改变时b随之改变
print b
a=[1,2,3,4,5]
b=list()
for i in a:b.append(i)
print b

    比较暴力的一个方法:

# -*- coding: UTF-8 -*-
#讲列表复制到另一个列表里
a = [1,2,3,4,5,6,7,8,9]
b = a*1
print(b)

    表1拓展到表2中:

#coding=utf-8

list1 = [1,2,3]
list2=[]
list2.extend(list1)
print list2

    补充一个深拷贝与浅拷贝的问题:

>>> import copy
>>> a = [1,2,3,4,5]
>>> b = ["A","B",a]
>>> #浅拷贝
>>> c = b[:]
>>> c
['A', 'B', [1, 2, 3, 4, 5]]
>>> a[0] = 11
>>> c
['A', 'B', [11, 2, 3, 4, 5]]
>>> #此时a变化c跟着变化
>>> #深拷贝
>>> c = copy.deepcopy(b)
>>> c
['A', 'B', [11, 2, 3, 4, 5]]
>>> a[0] = 111
>>> a
[111, 2, 3, 4, 5]
>>> c
['A', 'B', [11, 2, 3, 4, 5]]
>>> #此时c中数据不受a影响
>>>

这次的小例子就到这里了。如果感觉不错的话,请多多点赞支持哦。。。

  原文链接:https://blog.csdn.net/luyaran/article/details/80021957

最新文章

  1. poj1002-487-3279(字符串处理)
  2. 从多列的DataTable里取需要的几列(转)
  3. 《C陷阱与缺陷》之1词法"陷阱"
  4. linux程序处理po多语言的两种脚本配置方式
  5. linq group join
  6. 尝鲜CodeBlocks
  7. opencv 在工业中的应用:圆孔定位
  8. 如何用 PHPMailer 来发送邮件?
  9. CCLablettf读取显示xml文件内容显示中文
  10. Unix环境高级编程
  11. (四)Android中Context的理解与使用
  12. NavigationControllerr滑动返回
  13. OpenCV中的结构体、类与Emgu.CV的对应表
  14. PowerShell 操作 Azure Blob Storage
  15. Dynamics CRM The difference between UserId and InitiatingUserId in Plugin
  16. iOS开发之Xcode8推出的WKWebView与UIWebView的使用
  17. Autofac之生命周期和事件
  18. NandFlash和iNand【转】
  19. pip 更改国内镜像
  20. windows下使用vscode编写运行以及调试C/C++

热门文章

  1. USB3.0驱动与2.0有什么区别
  2. Codeforces Round #375 (Div. 2) D. Lakes in Berland (DFS或并查集)
  3. 20165322 预备作业3 Linux安装及学习
  4. 战神CPU计算机硬件组装
  5. POJ 3088 斯特林
  6. Codeforces Round #515 (Div. 3) B. Heaters【 贪心 区间合并细节 】
  7. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 B Tomb Raider 【二进制枚举】
  8. android imageview使用的时候 引用资源src和background的区别
  9. android(eclipse)界面控件以及活动总结(二)
  10. JavaScript函数的方法