python基础知识第七弹:元组

一、概述

元组与列表非常类似,主要的区别在于:列表是可变的,元祖是不可变的

表示形式的区别:列表用 [] 表示,元祖使用 () 表示

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元祖除了上面的区别外,其他使用方式都和列表很类似

如:索引,切片等,元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

二、详细讲解

1、创建元祖

>>> tup1 = ('Google', 'Runoob', 1997, 2000);
>>> tup2 = (1, 2, 3, 4, 5 );
>>> tup3 = "a", "b", "c", "d";   #  不需要括号也可以
>>> type(tup3)
<class 'tuple'>
创建空元祖
tup1 = ()

注意:

当元组中只有一个元素的时候,需要在该元素后面加上逗号,否则,解析器就会把这个括号当做普通的括号去处理了

如下

>>> tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型,这里的圆括号就是普通的括号
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

2、元祖的访问

元组可以使用下标索引来访问元组中的值,如下实例:

遍历元组同遍历列表一样,用for循环 ,这里就不在说明了

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
输出:
tup1[0]:  Google
tup2[1:5]:  (2, 3, 4, 5)

3、修改元祖

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')

# 以下修改元组元素操作是非法的。
# tup1[0] = 100

# 创建一个新的元组
tup3 = tup1 + tup2;
print (tup3)
输出:
(12, 34.56, 'abc', 'xyz')

补充:

如果元组中含有list,list的值可以更改

元组和列表一样,里面可以存放不同数据类型的元素。

虽然,元组不可以变。但是只要元组里面有列表,那么这个列表是可以变化的;

RMB = (100, ['aaa', 'bbb'])
RMB[1][0] = 'ccc'  #元组里的list指向没有变,变得是所指向的list里存的值
RMB[1][1] = 'ddd'
print(RMB)

4、删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

tup = ('Google', 'Runoob', 1997, 2000)

print (tup)
del tup;
print ("删除后的元组 tup : ")
print (tup)
输出:
删除后的元组 tup :
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print (tup)
NameError: name 'tup' is not defined

5、列表转换元祖

tuple(seq)

>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')

6、其他

for ,in ,len(),min(),max()等方法与列表一样,这里就不在赘述了。

相关推荐