元组是序列一种,与列表类似,但是不能修改,下面我们详解介绍下元组:

1 列表近亲:元组

1.1 元组定义与访问方式:

元组与列表类似,元组语法:(ele1, ele2, ele3);具体如下:

#定义元组1,与列表类似

a = (1,2,3)

print(a)

#定义元组2

b = 'a', 'b', 'c'

print(b)

#元素访问:

print(a[0], b[1])

1.2 tuple方法使用:

tuple可以将可迭代对象转成元组,相关操作如下:

#range对象转元组

print(tuple(range(10)))

#字符串转列表

print(tuple('helloworld'))

#列表转元组

print(tuple(['C++', 'Java', 'Python']))

1.3 元组不可修改:

尝试修改元组:

#小ming成绩单

xiaoming = (59, 80)

#尝试修改下:

xiaoming[0] = 60

输出结果:

TypeError Traceback (most recent call last)

in

2 xiaoming = (59, 80)

3 #尝试修改下:

----> 4 xiaoming[0] = 60

TypeError: 'tuple' object does not support item assignment

列表中的元素是不能修改的。

2.元组常规操作:

2.1 切片操作:

tv = ('小米', '创维', '海信','康佳','长虹')

print('tv=',tv)

#切片操作

print('tv[:2]=', tv[:2])

#掐头去尾

print('tv[0:-1]=', tv[0:-1])

#反序

print('tv[::-1]=', tv[::-1])

#隔一个取一个

print('tv[::2]=', tv[::2])

输出结果如下:

tv= ('小米', '创维', '海信', '康佳', '长虹')

tv[:2]= ('小米', '创维')

tv[0:-1]= ('小米', '创维', '海信', '康佳')

tv[::-1]= ('长虹', '康佳', '海信', '创维', '小米')

tv[::2]= ('小米', '海信', '长虹')

2.2 元组遍历:

tvs = ('小米', '创维', '海信','康佳','长虹')

for tv in tvs:

print(tv)

输出结果:

小米

创维

海信

康佳

长虹

2.3 元组常用函数:

#定义元组

t = (90, 30, 40, 80, 100)

#长度:

print('len t:', len(t))

#最大值:

print('max value:', max(t))

#最小值:

print('min value:', min(t))

#平均值:

print('ave value:', sum(t)/len(t))

2.4 元组相关方法:

元组是不可变数据结构,只有两个方法,我们来看下:

方法

说明

T.count(value)

统计元素在元组中数量

T.index(value, [start, [stop]])

返回元素第一次出现索引,不存在报异常

相关使用如下:

t = (90, 30, 40, 80, 100)

#90出现次数

print('{}.count({})={}'.format('t', 90, t.count(90)))

#90在元组中索引

print('{}.index({})={}'.format('t', 90, t.index(90)))

#0在元组中索引

print('{}.index({})={}'.format('t', 0, t.index(0)))

运行结果:

t.count(90)=1

t.index(90)=0

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

in

5 print('{}.index({})={}'.format('t', 90, t.index(90)))

6 #0在元组中索引

----> 7 print('{}.index({})={}'.format('t', 0, t.index(0)))

ValueError: tuple.index(x): x not in tuple

注意最后一场。

3.元组使用场景:

3.1 函数返回多个值:

定义一个函数,参数为两个数字,返回两个数字和,积;

分析:逻辑上实现不困难,如何返回两个值?

我们定义一个函数,返回一个固定值:

#定义函数

def func():

return 0

print('func()=', func())

输出结果:func()= 0

如何返回两个值,在后面价格书试试,代码实现如下:

#定义函数

def func():

return 0,1

print('func()=', func())

输出结果:func()= (0, 1)

可以看到,返回值为一个元组,然后我们来实现返回和与积的函数,代码实现:

#定义函数

def func(a, b):

return a+b, a*b

print('func({}, {})={}'.format(2,5, func(2, 5)))

输出结果:func(2, 5)=(7, 10)

如何接受这两个值:还记得大明湖畔的多元赋值么?

m = 2,3

#m什么类型?

print(m)

#x,y是什么值?

x,y = m

print(x, y)

输出结果:

(2, 3)

2 3

希望大家记得这些方法使用。

3.2 函数传多个不定数量参数,例如sum函数?

sum函数,可以传入多个数字,这个实现其实也和元组有关,

我么来演示个例子:

#*args:可变长非关键字

def mysum(a,b, *args):

#查看args类型

print(args, type(args))

return a+b+sum(args)

print(mysum(1,2))

print(mysum(1,2,3))

print(mysum(1,2,3, 4))

我们在这时只是展示他的用法,后面讲函数时候我们在详解解释;

到这里元组基本使用就介绍完了,希望对大家理解有所帮。

另外欢迎大家关注老猫的专栏:

https://blog.51cto.com/cloumn/detail/34。

python元组的定义方式_序列之元组详解相关推荐

  1. 下列哪种不是python元组的定义方式_下列哪种不是Python元组的定义方式? ( )_学小易找答案...

    [多选题]树木的生态习性中气候主要是指 四大因子 [判断题]杜鹃花为典型的酸性土植物 [单选题]以下关于安全目标的考评,不恰当的做法有 [单选题]选择制造电缆的绝缘材料时,希望材料的相对介电系数( ) ...

  2. python元组的定义方式_学习Python元组,有哪些必须要掌握的内容

    展开全部 学习Python元组2113,有哪些必须要掌握的5261内容? 1.Python元组4102 定义 元组是Python的一种内建数据结构.1653关于元组: 1.元组属于序列,可以存放任意元 ...

  3. python随机森林 交叉验证_随机森林算法详解及Python实现

    一 简介 随机森林是一种比较有名的集成学习方法,属于集成学习算法中弱学习器之间不存在依赖的一部分,其因为这个优点可以并行化运行,因此随机森林在一些大赛中往往是首要选择的模型. 随机森立中随机是核心,通 ...

  4. python开课吧官网_开课吧老师详解 学Python真的可以帮助提高办公效率吗

    在工作中你是否有过这样的经历?周围的同事看上去貌似没有做什么事情,每天准时下班;你呢兢兢业业做着本职工作,努力完成领导布置的每一项任务,常常加班到很晚才走.可是最后你身边的那个同事反而深得领导喜爱升职 ...

  5. 下列哪个不是python元组的定义方式_Python基础知识笔试

    Python基础知识笔试 单选题(2.5分*20题) 1. 下列哪个表达式在Python中是非法的? B A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y ...

  6. 下列那种不是python元组的定义方式

    下列那种不是python元组的定义方式 a = (1) b = (1,) c = (1, 2) d = (1, 2, (3, 4)) print(a, type(a)) print(b, type(b ...

  7. python序列类型-python序列类型种类详解

    python序列类型包括哪三种 python序列类型包括:列表.元组.字典 列表:有序可变序列 创建:userlist = [1,2,3,4,5,6] 修改:userlist[5] = 999 添加: ...

  8. python编程序列类型_python序列类型种类详解

    python序列类型包括哪三种 python序列类型包括:列表.元组.字典 列表:有序可变序列 创建:userlist = [1,2,3,4,5,6] 修改:userlist[5] = 999 添加: ...

  9. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

最新文章

  1. 学习C++ 丨 类(Classes)的定义与实现!C/C++必学知识点!
  2. java.util.NoSuchElementException错误原因及解决方案
  3. 判断浏览器是否支持某个css属性
  4. 各种 SAP 产品的自定义 UI 创建和集成方法一览
  5. html怎么做模糊条纹,如何使用纯CSS实现彩虹条纹文字的效果
  6. 行者运行脚本命令_行者脚本指令说明
  7. Flutter 实现微信摇一摇的功能 Flutter 加速度感应
  8. 第七章—JavaScript数组
  9. java 嵌套listview_ListView嵌套GridView使用详解
  10. DNN Navisuite菜单模块原始XML文件的格式
  11. php define函数
  12. android 测试获取context,Android单元测试获取context问题,用AndroidTestCase获取为空
  13. bada 2D游戏编程之八——逐帧动画
  14. python数据类型
  15. 【专题5: 硬件设计】 之 【62.案例四:简易空气净化器,完整原理图】
  16. 中科院计算所在可信大数据软件技术方面的研究工作【DOC+PPT下载】
  17. matplotlib 绘图可视化知识点整理
  18. 有关注册表技术的各大网站列表
  19. 磁盘介质受写入保护(非u盘)解决办法
  20. 关于微信jsapi 支付签名验证失败

热门文章

  1. nginx could not build the server_names_hash 解决方法
  2. Fastq-dump:我的日常命令
  3. Mysql报错Fatal error: Can#39;t open and lock privilege tables: Table #39;mysql.host#39; doesn#39;t...
  4. 设计模式学习笔记(八:迭代器模式)
  5. 对实体类的所有String类型的成员变量值trim
  6. boost的字符串处理函数——format
  7. 好东西和大家分享阿!
  8. SQLServer中使用Split功能分割字符串
  9. rocketmq sql解析过滤
  10. 纯中文C++代码,可运行