栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

tuple and point

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tuple and point

元组

关于元组:元组在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 = 1
b = a
b = 2
print(a) #1
print(b) #2

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

a = [1,2,3]
b = a
b[0] = 0
print(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 copy
a = [1,2,3,4]
b = copy.copy(a)
b[1] = 0
print(a) #[1,2,3,4]
print(b) #[0,2,3,4]
print('========')
# 如果列表中嵌套了列表
c = [1,[1,2,3]]
d = copy.deepcopy(c)
d[1] = 0
print(c)
print(d)
总结:

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739741.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号