元组与列表的区别
- 元组一旦创建便无法修改
- 列表 []
- 元组 ()
创建元组只需要在圆括号内添加元素,并用括号隔开就行
创建空元组
tup1=()
type(tup1)
如果元组中只包含一个元素,则需要在元素后面添加逗号
tup1=(100,)
type(tup1)
尝试创建单个元素的元素,但是忘记了逗号
tup2=(100)
type(tup2)
结果显示为整型
定义一个没有括号的元组
tup2="a","b","c",2,100
type(tup2)
结果显示还是元组类型
由此可见,对于元组而言,逗号比圆括号()更具身份象征
元组的操作和列表的操作相似,下标索引也是从0开始,也可以进行分片操作
tup2[:2]
元组的分片操作会临时产生一个新的元组,它不会更改原先的元组
a=(11,12,13)
b=(41,51,61)
c=a+b
print(a,b,c)
元组用+连接多个元组,返回一个新的元组,而不是每一位元素进行运算
元组和其他列表、字符串等是可以互换的
plist=[78,79,26]
ptuple=tuple(plist) #此处tuple为关键字,将列表转换为元组
ptuple
eetuple=tuple("hello world") #将字符串转为元组
eetuple
元组内部元素一旦缺点确定下来,便无法修改。
tup3=("math",7,"人工智能",3.9)
print(tup3[1])
tup3[1]="English"
尝试更改元组的元素值,失败!
当确实要更改元组该怎么办呢???
tup4=("math",7,"人工智能",3.9)
id(tup4) #查看原始tup4的地址
tup4=tup4[:2]+("hello world!",)+tup4[2:] #连接元组
#圆括号和逗号必不可少
id(tup4) #再次查看原始tup4的地址
tup4
- 可以看到原本牢不可变的元组中间插入了一个新的元素
- 同时旧的元组就被销毁
- 而id查看tup4的地址,输出的结果完全不同,虽然名称一样,但在python的底层,已经完全不一样了。
删除元组元素
tup4=("math",7,"人工智能",3.9)
tup4=tup4[:1]+tup4[2:]
tup4