一.元组定义

元组(tuple)使用小括号()来定义,它是不可变数据类型,它的元素不可变,但元素的元素是可变的,比如tuple中一个元素为list列表时,list中的元素是可变的

# 在定义tuple时,元素就必须确定下来
aa = (1, "ok")
# aa[0] = 2 tuple元素不能修改
print(aa)
# 在定义只有一个元素的tuple时,注意要在第一个元素后加上",",aa=(2,),否则会被认为是赋值aa=(2)
aa = (2, ) # tuple
print(type(aa))
aa = (2) # int,被认为是一个数字
print(type(aa))

二.理解元素不可变

# tuple的元素指向不变,但指向的内容可变
classes = [1, 2]
tuple1 = ("a", "b", classes) # tuple1指向classes没有变,但classes本身的内容是可以变的
print(tuple1)
classes[0] = 11
classes[1] = 22
print(tuple1) 输出如下
('a', 'b', [1, 2])
('a', 'b', [11, 22])

三.元组遍历

元组是有序的,有下标,可以切片,拼接,可以通过for循环遍历获取每一个元素

tuple1 = (1, 2, 3, 4, 5)

for i in tuple1:
print(i) 输出如下
1
2
3
4
5

四.元组的切片

常见切片如下

tuple1 = (1, 2, 3, 4, 5)

print(tuple1[::])       # 获取所有元素
print(tuple1[::-1]) # 倒序打印元组所有元素,tuple1元素本身不变
print(tuple1[1:3]) # 获取下标为1, 2的元素(2, 3)
print(tuple1[:4]) # 不写起始位置,默认从头开始,0,1,2,3,(1,2,3,4)
print(tuple1[3:]) # 不写结束位置,默认一直截到最后,3,4,(4,5) 输出结果如下
(1, 2, 3, 4, 5)
(5, 4, 3, 2, 1)
(2, 3)
(1, 2, 3, 4)
(4, 5)

五.元组的常见方法使用

tuple1 = (1, 2, 3, 4, 5)

# 获取元组元素个数,即元素长度
print(len(tuple1))
print(tuple1.__len__()) 输出结果如下
5
5
tuple1 = (1, 2, 3, 2, 4, 5)

print(tuple1.count(2))      # .count(e),获取元素e在元组中出现的次数
print(tuple1.index(2)) # .index(e),获取元素e在元组中第一次出现时的下标 输出结果如下
2
1

六.元组的应用场景

1.作为函数的参数和返回值

元组中的数据通常类型都不不同的,所以通过for遍历使用的很少

2.格式化输出时使用的就是一个元组

print("my name is %s, now is %d years old" % ("xiaoming", 23))

也可以这样写

user_info = ("xiaoming", 23)

print("my name is %s, now is %d years old" % userinfo)

或者这样写

user_info = "my name is %s, now is %d years old" % ("xiaoming", 23)

print(user_info)

3.保证数据安全

如果为了保证数据不被人修改,可以定义为元组类型。

python之元组的更多相关文章

  1. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  2. Python:元组操作总结

    Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号,如下: tup1=('physics','chemistry',1997,2 ...

  3. python的元组数据类型及常用操作

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...

  4. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  5. python的元组

    Python的元组和列表很相似,只是元组一旦定义就无法修改,比如定义一个学生的元组: names = ('alex','jack') print(names)#('alex', 'jack') pri ...

  6. 一起学Python:元组

    元组 Python的元组与列表类似,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. >>> aTuple = ('et',77,99.9)>>> ...

  7. python基础——元组(tuple)

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. tuple1 = () tuple2 = ...

  8. python day4 元组/字典/集合类知识点补充

    目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...

  9. Python tuple 元组

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 ...

  10. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

随机推荐

  1. .Net IOC框架入门之三 Autofac

    一.简介   Autofac是.NET领域最为流行的IOC框架之一,传说是速度最快的一个 目的 1.依赖注入的目的是为了解耦. 2.不依赖于具体类,而依赖抽象类或者接口,这叫依赖倒置. 3.控制反转即 ...

  2. 转载:.Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法

    .Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法 阐述签名工具这个概念之前,我先说说它不是什么: 1.它不是用于给程序集加密的工具,它与阻止Reflector或ILSpy对程序集 ...

  3. PHP输出缓存ob系列函数

    ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担. ob的基本原则:如果 ...

  4. php中echo、print、print_r、var_dump、var_export区别

    (1) print和echo是语言结构,echo输出多个值,多个值之间用逗号分隔,无返回值:print只能输出一个值,有返回值.echo和print输出整型和字符串,没法打印布尔型,如果true,打印 ...

  5. 在Pythonfor循环中如何获取循环次数?

    在Python的for循环里,循环遍历可以写成: for item in list: print item 它可以遍历列表中的所有元素,但是有什么方法可以知道到目前为止我循环了多少次? 想到的替代方案 ...

  6. query string parameters 、 Form Data 、 Request Payload

    微信小程序ajax向后台传递参数的时候总是报400错误 然后看了一下network 发现是query string parameters,但是我写的header如下 header:{ "Co ...

  7. 饮冰三年-人工智能-Python-23 Python PyCharm 使用中常见的问题

    一:软件工具使用中遇到的问题 1:AttributeError: module 'pip' has no attribute 'main'问题 处理方法: a:找到JetBrains\PyCharm ...

  8. Nginx 和 IIS 实现动静分离(转)

    转载地址:https://www.cnblogs.com/paul8339/p/5825201.html 动静分离,说白了,就是将网站静态资源(HTML,JavaScript,CSS,img等文件)与 ...

  9. windows下创建MySQL定时备份与删除脚本

    今天在windows服务器上面写了一个MySQL定时任务,备份呢与删除 rem *****************************Code start********************* ...

  10. UOJ#218. 【UNR #1】火车管理 线段树 主席树

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ218.html 题解 如果我们可以知道每次弹出栈之后新的栈顶是什么,那么我们就可以在一棵区间覆盖.区间求和 ...