在上一篇文章中我们讲解了关于 python列表List 的相关内容,今天给大家解释一下列表List的兄弟 – 元组,俗称: tuple.
元组tuple和列表List类似,元组有如下特点:
1.由一个或者多个数据构成,数据的类型可以不相同也可以相同;
2.元组中的数据需要写在()中括号内部,数据与数据之间用逗号隔开;
3.元组是一个有序的集合,下标索引默认重 0 开始,和字符串类似;
4.元组的数据不能被修改
元组其实也称为只读列表,列表支持的函数元组同样也支持,唯一区别是元组tuple中的数据不能被修改,这就意味着不能删除元组tuple中的数据,也不能直接给元组tuple中的数据赋值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:www.github.com
@File:python_tuple.py @Time:2019/9/26 20:45
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """
tuple1 = tuple() # 定义一个空元组,元组的数据不能修改,意味永远都是一个空元组 print(tuple1) print(type(tuple1)) # 获取数据类型
tuple2 = ("python","study") # 定义元组tuple2 ,该元组由两个字符串数据构成 print(tuple2)
tuple3= ("python","s",False,2.5) # 定义元组tuple3 ,该元组中的数据可以由不同类型的数据构成 print(tuple3) |
输出结果:
1 2 3 4 | () <class 'tuple'> ('python', 'study') ('python', 's', False, 2.5) |
元组tuple的查询和列表list的操作类似,同样也可以直接通过下标查询元组中的数据,演示代码如下:
1 2 3 4 5 6 7 8 | tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成 print(type(tuple1)) # 通过内置函数type获取数据类型 print(tuple1) print(tuple1[1]) # 获取元组中索引值为1 的数据 print(tuple1[len(tuple1)-1]) # 获取元组中的最后一个元素,注意是len(tuple)-1,并非len(tuple) print(tuple1[1:4]) # 获取元组索引值1-4的数据 print(tuple1[:5]) # 如果冒号之前没有设置参数,默认重0开始,表示获取元组索引值0-5的数据 print(tuple1[3:]) # 如果冒号之后没有设置参数,默认到元组最后一个数据介绍,包括最后一个数据 |
输出结果:
1 2 3 4 5 6 7 | <class 'tuple'> ('python', 's', False, 2.5, 40, 'tuple') s tuple ('s', False, 2.5) ('python', 's', False, 2.5, 40) (2.5, 40, 'tuple') |
元组tuple中的数据只能读取,不能修改也不能删除,如果对元组tuple中的数据删除或者修改会报错,代码演示:
1 2 3 | # 测试修改元组数据 tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成 tuple1[0] = False |
编译器会报错:TypeError: ‘tuple’ object does not support item assignment(翻译:元组tuple不支持修改)
1 2 3 | # 测试删除元组数据 tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成 del tuple1[0] |
编译器会报错:TypeError: ‘tuple’ object doesn’t support item deletion(翻译:元组tuple不支持删除)
两者之间直接强制转换即可,演示代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 元组tuple 转为 列表list tuple1= ("python","s",False,2.5,40,"tuple") list1 = list(tuple1)
print("tuple1数据类型是:",type(tuple1)) print("list1数据类型是:",type(list1))
print("***"*20) # 小窍门:直接打印60个*
# 列表list 转为 元组tuple list2 = [False,"好好学习",0,3.14] tuple2 = tuple(list2) print("tuple2数据类型是:",type(tuple2)) print("list2数据类型是:",type(list2)) |
输出结果:
1 2 3 4 5 | tuple1数据类型是: <class 'tuple'> list1数据类型是: <class 'list'> ************************************************************ tuple2数据类型是: <class 'tuple'> list2数据类型是: <class 'list'> |
1.注意元组tuple与列表list的区别,元组的数据不能被修改,其他使用和列表一样。
2.注意元组tuple/列表list/字符串str三者的写法区别:
1 2 3 | a = "python教程" # 字符串 b = ["python教程"] # 列表,列表中只有一个字符串数据 c = ("python教程") # 元组,元组中只有一个字符串数据 |
1.python字符串
2.pycharm设置字体颜色/模板头文件
3.python列表list
转载请注明:猿说Python » python元组tuple
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。