python基础教程之元组操作使用详解

企鹅博客
企鹅博客
企鹅博客
28717
文章
0
评论
2020年9月13日01:09:07 评论 6 views 2485字阅读8分17秒

简介

tuple

1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问

2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作)

3.支持任意类型,任意嵌套以及常见的序列操作

4.元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

声明及使用

复制代码 代码如下:

t = () #空元组

t =(1,) #单个元素元组,注意逗号必须

t =(1,2,3)

1 in t #判断
2 not in t

#其他同序列基本操作:分片,索引
print t[0]
print t[-1]
print t[:2]

#不会对原来元组造成影响
print t+(4,5) #返回新元组(1,2,3,4,5)
print t * 2 #(1,2,3,1,2,3)
t.index(1)
t.count(1)

#列表元组转换
l = [1,2,3]
lt = tuple(l)
tl = list(lt)
lt_sorted = sorted(l) #对元组进行排序,返回是列表

#字符串转元组(得到字符元组序列)
print tuple('hello) #('h','e','l','l','o')
tuple没有append/extend/remove/pop等增删改操作tuple没有find

查看帮助

复制代码 代码如下:

help(tuple)

用途

1.赋值

复制代码 代码如下:

t = 1,2,3 #等价 t = (1, 2, 3)

x, y, z = t #序列拆封,要求左侧变量数目和右侧序列长度相等

2.函数多个返回值

复制代码 代码如下:

def test():

return (1,2)

x, y = test()

3.传参[强制不改变原始序列]

复制代码 代码如下:

def print_list(l):

t = tuple(l) #或者t = l[:]

dosomething()

4.字符串格式化

复制代码 代码如下:

print '%s is %s years old' % ('tom', 20)

5.作为字典的key

优点
1.性能

tuple比列表操作速度快

若需要定义一个常量集,或者是只读序列,唯一的操作是不断遍历之,使用tuple代替list

复制代码 代码如下:

>>> a = tuple(range(1000))

>>> b = range(1000)

>>> def test_t():

... for i in a:

... pass

...

>>> def test_l():

... for i in b:

... pass

...

>>> from timeit import Timer

>>> at = Timer("test_t()", "from __main__ import test_t")

>>> bt = Timer("test_l()", "from __main__ import test_l")

简单测试

复制代码 代码如下:

>>> at.repeat(3, 100000)

[1.526214838027954, 1.5191287994384766, 1.5181210041046143]

>>> bt.repeat(3, 100000)
[1.5545141696929932, 1.557785987854004, 1.5511009693145752]

2.不可变性

对不需要的数据进行“写保护”,使代码更加安全

不可变性,若在程序中以列表形式传递对象集合,可能在任何地方被改变,使用元组,则不能

不可变性只适用于元组本身顶层而非其内容,例如元组内部的列表可以修改

复制代码 代码如下:

l = [1,2,3]

t = (1,2,l)

l.append(4)

不可变性提供了某种完整性,规范化,确保不会被修改,保持某种固定关系

修改的方法

复制代码 代码如下:

tuple -> list -> tuple

  • 微信
  • 分享
  • 相关标签:元组操作 python基础教程
  • 本文原创发布php教程 ,转载请注明出处,感谢您的尊重!
    • 上一篇:python实现k均值算法示例(k均值聚类算法)
    • 下一篇:python实现保存网页到本地示例

    相关文章

    相关视频

    • 在Django框架中运行Python应用全攻略
    • 在Python的Django框架中创建和使用模版
    • python获取元素在数组中索引号的方法
    • 浅谈python中截取字符函数strip,lstr...
    • python基础教程之元组操作使用详解
    • 轮播图案例讲解
    • 轮播图案例的预备知识(3)
    • 轮播图案例的预备知识(2)
    • 轮播图案例的预备知识(1)

    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论

  • python基础教程之元组操作使用详解
  • 立即提交

    专题推荐

    • python基础教程之元组操作使用详解 独孤九贱-php全栈开发教程

      全栈 100W+

      主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

    • python基础教程之元组操作使用详解 玉女心经-web前端开发教程

      入门 50W+

      主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

    • python基础教程之元组操作使用详解 天龙八部-实战开发教程

      实战 80W+

      主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

    作者信息
    python基础教程之元组操作使用详解

    php教程

    认证0级讲师

    最近文章

    发布技术文章

    • 最新文章
    • 热门排行

      python基础教程之元组操作使用详解

    • python之禅怎么打出来
    • python怎么学
    • boosting和bootstrap区别
    • python库是什么意思
    • python卸载后怎么也安装不上
    • python安装后怎么不见了
    • python怎么卸载模块
    • python能做什么?是什么?

      python基础教程之元组操作使用详解

    • pickle库的使用详解
    • Anaconda的新手使用大全
    • python爬虫是什么?为什么把python叫做爬虫?
    • Python微信库:itchat的用法详解
    • 关于python3学习基础知识总结
    • python爬虫是什么
    • 使用Python可以做什么
    • python如何实现可视化热力图

    推荐视频教程

  • python基础教程之元组操作使用详解 javascript初级视频教程
  • python基础教程之元组操作使用详解 jquery 基础视频教程
  • 视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • 网站首页
    • PHP视频
    • PHP实战

    PHP中文网:独家原创,永久免费的在线php视频教程,php技术学习阵地!

    Copyright 2014-2019 http://www.php.cn/ All Rights Reserved | 皖B2-20150071-9 python基础教程之元组操作使用详解 皖公网安备 34010402701654号 免责申明赞助与捐赠

    继续阅读
    weinxin
    欢迎加入中国站长博客之家
    本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
    Python中变量和数据类型介绍 python教程

    Python中变量和数据类型介绍

    1、变量和数据类型 1.1变量 1.每个变量都存储了一个值——与变量相关联的信息。 2.变量不仅可以为整数或浮点数,还可以是字符串,可以是任意数据类型。 1.1.1变量的命名和使用 变量名只能包含字母...
    如何使用Python来理解递归(代码讲解) python教程

    如何使用Python来理解递归(代码讲解)

    本篇文章给大家带来的内容是关于如何使用Python来理解递归(代码讲解),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 递归 一个函数在执行过程中一次或多次调用其本身便是递归,就像是...
    匿名

    发表评论

    匿名网友 填写信息

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: