元组与列表都是容器,两个的区别在于:

1.元组使用的是小括号,列表使用的是方括号

2.元组一旦定义不可修改,而列表是可以随意变更

创建元组

元组的创建与列表大同小异,逗号在元组中充当了元组的灵魂,创建元组时你可以不带上括号,但是必须带上逗号

# 创建空元组
tuple1 = tuple()
print(tuple1)
# 创建一个元素的元组,后面必须带上英文逗号(,)
tuple2 = ("fruit",)
print(tuple2)
# 创建元组时不带括号
tuple3 = "fruit", "pear", "apple", "banana"
print(tuple3)

打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
()
('fruit',)
('fruit', 'pear', 'apple', 'banana')

通过tuple()方法传入可迭代对象创建元组

# 通过tuple()方法将list转为tuple
tuple4 = tuple(["egg", "rice", "bacon"])
print(tuple4)
# 通过tuple()方法传入range对象
tuple5 = tuple(range(10))
print(tuple5)
# 通过tuple()方法传入dict
tuple6 = tuple({"rice": "米", "bacon": "培根"})
print(tuple6)
# 通过tuple()方法传入str
tuple7 = tuple("hello")
print(tuple7)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
('egg', 'rice', 'bacon')
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
('rice', 'bacon')
('h', 'e', 'l', 'l', 'o')

元组的读取

元组的读取与列表类似,通过下标读取,下标索引从0开始,下标不存在时抛出越界异常

# 读取下标为2的元素
tuple_1 = tuple3[2]
print(tuple_1)
# 尝试读取下标不存在的元素
tuple_2 = tuple3[5]
print(tuple_2)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
Traceback (most recent call last):
File "D:/demo/tuple_1.py", line 15, in <module>
tuple_2 = tuple3[5]
IndexError: tuple index out of range
apple

使用for语句遍历读取

for tuple_ in tuple3:
print(tuple_)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
fruit
pear
apple
banana

元组切片

元组也可以进行切片操作,与列表一样,可参考列表切片操作,此处不再赘述

print(tuple3)
# 截取整个元组
slice1 = tuple3[:]
# 截取偶数位的所有元素
slice2 = tuple3[::2]
# 反向截取
slice3 = tuple3[::-1]
print(slice1)
print(slice2)
print(slice3)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
('fruit', 'pear', 'apple', 'banana')
('fruit', 'pear', 'apple', 'banana')
('fruit', 'apple')
('banana', 'apple', 'pear', 'fruit')

元组删除

# 元组中的元素不可编辑,只能删除整个元组
del tuple3
print(tuple3)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
Traceback (most recent call last):
File "D:/demo/tuple_1.py", line 47, in <module>
print(tuple3)
NameError: name 'tuple3' is not defined

元组中其他常用方法

count()用于计算某个元素在元组中出现的次数

count_ = tuple3.count("rice")
print(count_)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
0

统计字符出现的个数或元组内出现的元素次数等也可以用 Counter方法, Counter 是一个 dict 的子类,用于计数可哈希对象

from collections import Counter
counter_ = Counter(tuple3)
print(counter_)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
Counter({'fruit': 1, 'pear': 1, 'apple': 1, 'banana': 1})

tuple 中的index()方法同list中的index()方法,用来查找某个元素所在的索引位置,当元组中有多个相同的元素时,默认返回第一个匹配的元素索引位置,若找不到则抛出异常

格式:[obj, start, end]

obj :需要查找的对象

start: 起始查找位置,不填写时默认为0

end: 结束查找位置,不包含end,不填写时默认为元组长度

index_ = tuple3.index("pear", 0, 3)
print(index_)
打印结果:
"D:\Program Files\Python\Python37-32\python.exe" D:/demo/tuple_1.py
1

python之元组(tuple)知识点的更多相关文章

  1. python中元组tuple

    python中列表(list)和元组(tuple)有很多相似的地方,它们都是容器,由一系列的对象构成,都可以包含任意类型的元素,甚至是一个序列.   list和tuple的不同首先体现在写法上: li ...

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

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

  3. python基础-元组(tuple)及内置方法

    元组-tuple 用途:用于存储多个不同类型的值,但是不能存储可变类型数据 定义方法:用小括号存储数据,数据与数据之间通过逗号分隔,元组中的值不能改变. 注意: 1.定义元组时,如果里面只有一个值,在 ...

  4. Python 创建元组tuple

    创建tupletuple是另一种有序的列表,中文翻译为“ 元组 ”.tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了.同样是表示班里同学的名称,用tuple表示如下:&g ...

  5. python入门 元组tuple (三)

    什么if while语句了 列表字典都太简单了 ,我直接跳过了, 开始写tuple了 增 元组格式是写在括号里,注意与列表(写在中括号里)的区别 tup1 = ('math', 'beijing', ...

  6. python 数据结构-元组tuple

    tuple0=() #空 tuple1="wo", #元组中包括单个元素用, tuple2="monkey","cat","chi ...

  7. Python - 多元组(tuple)

    声明一个多元组 (4, 5, 6) 这是列表 [4, 5, 6] 与列表不一样在于多元组使用() 来组织元素而list使用方括号[] 而且多元组不能更改,用于当你的数组不想像list一样会被更改时就使 ...

  8. Python从零开始——元组tuple

    一:元组知识内容 二:元组的不可变性 三:元组创建 四:元组操作

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

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

  10. Python—元组tuple

    列表的知识其实就类似于c语言中的数组,可插入.修改.list=[a,b,c,d] 而元组tuple,一旦初始化即不可修改.好处与绝对安全. 定义一个空的元组:t=() 定义只有一个元素的元组:t=(1 ...

随机推荐

  1. [题解] Codeforces 438 E The Child and Binary Tree DP,多项式,生成函数

    题目 首先令\(f_i\)表示权值和为\(i\)的二叉树数量,\(f_0=1\). 转移为:\(f_k=\sum_{i=0}^n \sum_{j=0}^{k-c_i}f_j f_{k-c_i-j}\) ...

  2. Jmeter——BeanShell 内置变量vars、props、prev的使用

    在使用Jmeter过程中,或多或少都会接触些BeanShell,它会使工具的使用,变得更灵活. Jmeter中关于BeanShell的有: 1.BeanShell Sampler 取样器:完成Bean ...

  3. HTTP缺点有哪些,如何解决

    前言 大家好,我是蜗牛,在上一篇中,我们介绍了不同版本的HTTP区别和发展背景,这篇文章我们来聊聊HTTP的缺点,HTTP缺点大致总结有以下三点: 通信使用明文(不加密),内容可能会被窃听. 不验证通 ...

  4. MyBatis获取参数值的两种方式

    MyBatis获取参数值的两种方式:${}和#{} ${}的本质就是字符串拼接,#{}的本质就是占位符赋值 ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单 ...

  5. misc办公室爱情

    ​ 隐藏文字password2 ​编辑 word改后缀zip解开后document.xml找到password1 ​编辑 True_lOve_i2_supReMe 用wbs43open+密码解密pdf ...

  6. Windows活动目录_初识

    计算机组织形式 工作组(用户本地登录时构造SID进行权限分配): 域(统一身份验证与管理) 域注意事项 实体:域控.域用户.加入域的机子. 依赖的服务:netlogon服务 强制刷新组策略gpupda ...

  7. 前端框架Vue------>第一天学习(3)

    文章目录 8 .使用Axios实现异步通信 9 .表单输入绑定 9.1 . 什么是双向数据绑定 9.2 .为什么要实现数据的双向绑定 9.3 .在表单中使用双向数据绑定 8 .使用Axios实现异步通 ...

  8. 【React】学习笔记(一)——React入门、面向组件编程、函数柯里化

    课程原视频:https://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.React 概述 1.1.R ...

  9. 时序数据库TDengine 详细安装+集成流程+问题解决

    官方文档:https://docs.taosdata.com/get-started/package/ 点击进入 产品简介 TDengine 是一款高性能.分布式.支持 SQL 的时序数据库 (Dat ...

  10. 详细了解JVM运行时内存

    详细了解JVM运行时内存 1.程序计数器 概念 程序计数器也叫作PC寄存器,是一块很小的内存区域,可以看做是当前线程执行的字节码的行号指示器.字节码的解释工作就是通过改变程序计数器里面的值来获得下一条 ...