Python 练习实例7
题目:将一个列表的数据复制到另一个列表中。
程序分析:使用列表[:]。
程序源代码:
实例
#!/usr/bin/python# -*- coding: UTF-8 -*-a = [1, 2, 3]b = a[:]print(b)
以上实例输出结果为:
[1, 2, 3]
题目:将一个列表的数据复制到另一个列表中。
程序分析:使用列表[:]。
程序源代码:
以上实例输出结果为:
[1, 2, 3]
白木潇潇夕
110***[email protected]
使用 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]
白木潇潇夕
110***[email protected]
Chivalry
825***[email protected]
使用 for 循环出列表元素,并逐以放到新的列表中:
#!/usr/bin/python # -*- coding: UTF-8 -*- l = [1,2,3,4,5] p = [] for i in range(len(l)): p.append(l[i]) print p
Chivalry
825***[email protected]
途途
maq***[email protected]
使用列表生成式:
>>> a=[1,2,3,4] >>> b=[i for i in a] >>> print(a) [1, 2, 3, 4] >>>
途途
maq***[email protected]
渡solong
157***[email protected]
参考方法:
#!/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
渡solong
157***[email protected]
思儿
xuj***[email protected]
参考实例:
a=[1,2,3,4,5] b=list() for i in a:b.append(i) print b
思儿
xuj***[email protected]
chen
127***[email protected]
比较暴力的一个方法,前面大佬们没提到
# -*- coding: UTF-8 -*- #讲列表复制到另一个列表里 a = [1,2,3,4,5,6,7,8,9] b = a*1 print(b)
chen
127***[email protected]
风风
295***[email protected]
表1拓展到表2中
#coding=utf-8 list1 = [1,2,3] list2=[] list2.extend(list1) print list2
风风
295***[email protected]
whaike
hua***[email protected]
补充一个深拷贝与浅拷贝的问题
>>> 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影响 >>>
whaike
hua***[email protected]