欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

tupleandpoint

时间:2023-05-25
元组

关于元组:元组在Python中用()表示,与列表不同的是元组不可修改

如果元组只有一个值,我们不可以只写一个值,这样会把Python解释器搞不清楚的

我们要写成(值,)这样的形式

元组的目的就是告诉读代码的人,你不想修改这个东西

hello = [1,2,3]hello[1] = 4#错误写法

tuple() 和 list()

我们可以将元组类型转化为列表类型,也可以将列表类型转化为元组类型

a = tuple([1,2,4])print(type(a))# 输出为tuple类型

a = list((1,2,3,4))print(tupe(a))# 输出为list类型

关于引用

在了解引用之前,我们先对比两个程序

a = 1b = ab = 2print(a) #1print(b) #2

我们发现这个a的值并没有改变

a = [1,2,3]b = ab[0] = 0print(a) # [0,2,3]print(b) # [0,2,3]

我们发现这里a[1]的值发生改变,主要是因为这里的a是一个引用,a指向列表

b = a,的意思是让b也指向列表

传递引用

def add(p): a.append(4)a = [1,2,3]add(p)print(a)# [1,2,3,4]

列表和字典都会发生这样的事情

如果你不想发生这种该引用的事情,你可以采用完全赋值的方式

import copya = [1,2,3,4]b = copy.copy(a)b[1] = 0print(a) #[1,2,3,4]print(b) #[0,2,3,4]print('========')# 如果列表中嵌套了列表c = [1,[1,2,3]]d = copy.deepcopy(c)d[1] = 0print(c)print(d)

总结:

1).列表是可变的,元组是不可变的
2).列表的赋值是引用
3).完全的赋值是copy.copy(list),copy.deepcopy(list)

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。