
编程开发
切片copy
当我们需要在Go语言中复制一个切片时,我们可以使用内置的copy函数。copy函数可以将一个切片的元素复制到另一个切片中。下面是一个示例: 在上面的示例中,我们首先创建了一个源切片
#!/usr/bin/python3 #coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer = [1,2,3] print(id(wulaoer)) wulaoer=[1,2,3] print(id(wulaoer))输出结果:
2211194278920 #第一次输出的结果 2211194278152 #第二次输出的结果所有变量的内存地址是唯一的,不能重复。变量分为全局变量和局部变量,这个在后面函数的时候在说。现在只要理解变量就是查找内存地址的身份证就行了。
#!/usr/bin/python3 # coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer = ["python", "ruby","golong","Django"] print(len(wulaoer)) print(wulaoer[:-2])输出结果:
4 ['python', 'ruby']len()是python的内置函数,返回对象的元素个数。对象可以是字符串,列表,元祖,字典等。分片是根据python的索引进行分片,从左的初始索引是0,从右的初始索引是-1,":"是段的符号,可以理解成":"的左右段,"[:-2]"就是从右到左,"[2:]"是从左到右,"[1:-2]"就是从左边第二个索引到右边数第二个索引的这段元素,自己动手试试。
#!/usr/bin/python3 # coding:utf-8 #吴老二个人博客~~~www.wulaoer.org wulaoer = ["ruby","golong","python","java"] wulaoer[2] = "python3" print(wulaoer)输出结果:
['ruby', 'golong', 'python3', 'java']这是针对列表的修改,根据索引找到元素,然后重新赋值。所有的修改都是在原有的基础上进行的重新赋值,这点需要切记。
#!/usr/bin/python3
# coding:utf-8
#吴老二个人博客~~~www.wulaoer.org
wulaoer = ["ruby","golong","python","java"]
wulaoer.append("Ruby") #末尾插入
print("使用append()函数插入:",wulaoer)
wulaoer.insert(2,"RUBY") #指定位置插入
print("使用insert()函数在指定位置插入:",wulaoer)
wulaoer2 = wulaoer #重新赋值给一个新的变量生成一个列表
wulaoer.extend(wulaoer2) #新列表插入到旧列表中
print("使用extend()函数把wulaoer2的所有元素插入到列表wulaoer中:",wulaoer)
输出结果:
使用append()函数插入: ['ruby', 'golong', 'python', 'java', 'Ruby'] 使用insert()函数在指定位置插入: ['ruby', 'golong', 'RUBY', 'python', 'java', 'Ruby'] 使用extend()函数把wulaoer2的所有元素插入到列表wulaoer中: ['ruby', 'golong', 'RUBY', 'python', 'java', 'Ruby', 'ruby', 'golong', 'RUBY', 'python', 'java', 'Ruby']以上就是列表的三种插入方法,因为还没有说运算符,如果说了运算符应该还有两种方式,一种是使用切片合并(wulaoer1[0:0]=wulaoer2,wulaoer1列表就会把wulaoer2的内容追加到自己列表中),一种是例如列表相加既然有插入了(wulaoer1+wulaoer2,wulaoer1的元素就包含wulaoer2的元素),至于这两种方式,后面运算符的时候单独在说。那就肯定有删除,下面看看列表的删除函数。
#!/usr/bin/python3
#coding:utf-8
#吴老二个人博客~~~www.wulaoer.org
wulaoer = ["ruby","python","golong","java","ruby"]
del wulaoer[0] #使用del删除列表元素
print("使用del通过索引删除元素:",wulaoer)
wulaoer.pop(-2) #使用pop()内置函数根据索引删除元素
print("使用pop通过索引删除元素:",wulaoer)
wulaoer.remove("golong") #使用remove()内置函数根据元素删除列表中从左到右的第一个元素
print("使用remove函数通过元素删除:",wulaoer)
wulaoer.clear()
print("使用clear函数通过元素删除:",wulaoer)
输出结果:
使用del通过索引删除元素: ['python', 'golong', 'java', 'ruby'] 使用pop通过索引删除元素: ['python', 'golong', 'ruby'] 使用remove函数通过元素删除: ['python', 'ruby'] 使用clear函数通过元素删除: None
#!/usr/bin/python3
#coding:utf-8
#吴老二个人博客~~~www.wulaoer.org
wulaoer = [6,8,2,9,3]
wulaoer.reverse()
print("使用内置函数reverse函数进行反转",wulaoer)
wulaoer.sort()
print("使用sort函数",wulaoer)
输出结果:
使用内置函数reverse函数进行反转 [3, 9, 2, 8, 6] 使用sort函数 [2, 3, 6, 8, 9]使用切片查看列表,依靠的是索引,不但能够取到指定的索引元素也可以取到范围内的列表元素。这里针对列表的切片进行扩展一下,看下面的例子:
#!/usr/bin/python3
#coding:utf-8
#吴老二个人博客~~~www.wulaoer.org
wulaoer = ["ruby","python","golong","java","ruby"]
wulaoer2 = wulaoer[1:4]
print("查看列表wulaoer的索引1至4的所有元素",wulaoer2)
wulaoer3 = wulaoer[3:]
print("查看列表wulaoer索引1之后的所有元素",wulaoer3)
wulaoer4= wulaoer[:-2]
print("查看列表wulaoer索引-2之前的所有元素",wulaoer4)
输出结果:
查看列表wulaoer的索引1至4的所有元素 ['python', 'golong', 'java'] 查看列表wulaoer索引1之后的所有元素 ['java', 'ruby'] 查看列表wulaoer索引-2之前的所有元素 ['ruby', 'python', 'golong']以上就是列表的增删改查的操作,其实操作的方法不止这么多,因为有些知识点没有学到,后面学到的时候会单独举例。列表中有一个深拷贝和浅拷贝,不过涉及到其他的数据类型,我们先把数据类型过一遍,最后针对深浅拷贝做一个全面的诠释。
评论 0