您的位置:首页 > 编程语言 > Python开发

第六天 Python学习之路~之元组详解

2019-06-16 21:40 197 查看

Python3 的六个标准数据类型中:

不可变数据:Number(数字)、Str(字符串)、Tuple(元组);
元组只能查看,不能修改(增、删、改)
可变数据:List(列表)、Dict(字典)、Set(集合)。
元组特点:元组是有序的,不能修改。
元组的定义:
(1),通过()来定义:变量名=(1,2,3,4),是以逗号分割,以小括号包围的序列。
(2), 通过tuple 函数定义:
#元组的优点:由于元组不可变,所以遍历元组比列表要快(较小的性能提升)

1,元组的创建

tup = (1, 2.2, True, 'ka')
print(tup)   # (1, 2.2, True, 'ka')
print(type(tup))   # <class 'tuple'>

2 访问元组

元组的索引和字符串以及列表完全一致

tup = (1, 2.2, True, 'ka')
ret = tup[1]  # 2.2 注意索引越界问题
通过切片来获取内容
tup = (1, 2.2, True, 'hello', '赵四', '刘能')
tup1 = tup[0:4:1]  # [1,2.2,True,'hello']

访问多维元组
tup = (('zs', 10), ('ls', 11), ('ww', 12))
ret = tup[1][0]
print(ret)  # ls  先找到内层元组,在获得里面对应的值

使用多个变量来接受元组中的值
注意:变量的个数和元组中的值的个数必须一一对应
name, age, height, weight = ('zs', 23, 1.76, 167)
print(name)  # zs
print(age)  # 23
print(height)  # 1.76
print(weight)  # 167

3 修改元组

元组是不可变的,但是如果元素本身是一个可变数据类型的列表,那么 其嵌套项可以被改变。

tup = ('zs', 'ls', 'ww', ['白骨精', '唐僧'])
tup[3].insert(1,'宋江')
print(tup) # ('zs', 'ls', 'ww', ['白骨精', '宋江', '唐僧'])
tup[3].append('宋江')
print(tup) # ('zs', 'ls', 'ww', ['白骨精', '宋江', '唐僧', '宋江'])

4 一个逗号的魅力

tup1 = (1)
tup2 = (1,)
print(type(tup1)) # <class 'int'>
print(type(tup2)) # <class 'tuple'>
#可以看到没有逗号,变量就是整数型的,所以这就是一个逗号的魅力

5 tuple 函数

功能与 list 函数基本上是一样的
tuple()函数和list()函数
lst = [1, 2, 3]
tup = tuple(lst)
print(tup) # (1, 2, 3)
tup = ('a', 'b', 'c')
ret = list(tup)
print(ret) # ['a', 'b', 'c']

6 元组的方法

因为元组是不可变的,所以方法只有两种 index 和 count ,用法也与列表一样
tup = ('a', 'b', 'c', 'a', 'b', 'c', 'g')
ret = tup.index('b')  #
ret1 = tup.index('a', 2, len(tup))
print(ret, ret1) # 1 3
ret2 = tup.count('a')
print(ret2) # 2

7,元组与字符串的区别

(1)、元组和字符串都是有序的,不可修改的序列
(2)、元组的元素可以是任何类型,字符串的元素只能是字符
(3)、元组的元素长度可以任意,字符串的元素长度只能为1

my_tuple = (1, 3, 5)
判断元素在元组中
if 3 in my_tuple:
print("3存在")
判断元素不在元组中
if 33 not in my_tuple:
print("33不存在")
查询元素的索引
index = my_tuple.index(1)
print(index)
查询元素的数量
count = my_tuple.count(3)
print(count)

8 删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
tup = ('Google', 'Runoob', 1997, 2000)
print(tup)
del tup;
print("删除后的元组 tup : ")
print(tup)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: