python学习之路(四)

继续昨天的学习,学到了数组。

首先有两个数组,name1和name2.我们可以将两个数组合并

name1=[1,2,3,4]
name2=[5,6,7,8]
names=name1.extend(name2)
print(names)

最后输出的是[1,2,3,4,5,6,7,8],这就是在name1后面接上name2

然后来到了一个小重点,copy(复制)

这里分为深copy和浅copy,我在学习之路(二)中说过一个复制的问题,就是在赋值的时候,值是存在内存里面的,而不是随着变量变化的,这里的深浅copy也是这个道理。

用专业的话来解释就是

1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 
2. copy.deepcopy 深拷贝 拷贝对象及其子对象 

首先,我们来了解一下浅copy。浅copy:不管多么复杂的数据结构,浅copy都只会copy一层。

  这种情况发生在字典套字典、列表套字典、字典套列表,列表套列表,以及各种复杂数据结构的嵌套中,所以当我们的数据类型很复杂的时候,用copy去进行浅copy就要非常小心。。。例子如下

import copy
name1=[1,[2,3,4],[5,6,],7]
name2=copy.copy(name1)
name1[1][1]="9"
name1[3]=99
print(name2)
>>>输出结果是 [1,[2,9,4],[5,6],7]

 浅copy可以用于公共账号的创建,有兴趣的可以自己尝试一下。

紧接着我们说一下深copy。深copy——即python的copy模块提供的另一个deepcopy方法。深copy会完全复制原变量相关的所有数据,在内存中生成一套完全一样的内容,在这个过程中我们对这两个变量中的一个进行任意修改都不会影响其他变量

import copy
name1=[1,[2,3,4],[5,6,],7]
name2=copy.deepcopy(name1)
name1[1][1]="9"
name1[3]=99
print(name2)
>>>输出结果是 [1, [2, 3, 4], [5, 6], 7]

还有一个知识点是元组,就是所谓的(tuple),他和列表很相像,但是元组是不能修改的,仅仅可读。
所以元组只有两个命令,一个是count,另一个是index

元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变。元组可以嵌套

tuple1=['xiaoming','jack','tom']
print(tuple1.count('tom'))
print(tuple1.index('tom'))

 输出结果为1和2

今天的学习就到这里,明天将更新字典的内容和一部分自己写的代码~

原文地址:https://www.cnblogs.com/lovelyming/p/6804839.html