Python数据类型详解(三)元祖:tuple


Posted in Python onMay 08, 2016

一.基本数据类型

整数:int

字符串:str(注:\t等于一个tab键)

布尔值: bool

列表:list

列表用[]

元祖:tuple

元祖用()

字典:dict
注:所有的数据类型都存在想对应的类列里,元祖和列表功能一样,列表可以修改,元祖不能修改。

二.列表所有数据类型:

基本操作:

索引,切片,长度,包含,循环

class tuple(object):
  """
  tuple() -> empty tuple
  tuple(iterable) -> tuple initialized from iterable's items
  
  If the argument is a tuple, the return value is the same object.
  """
  def count(self, value): # real signature unknown; restored from __doc__
    """ T.count(value) -> integer -- return number of occurrences of value """
    (T.count(价值)- >整数,返回值的出现次数)
    return 0

  def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
    """
    T.index(value, [start, [stop]]) -> integer -- return first index of value.
    Raises ValueError if the value is not present.
    """
    (T。指数(价值,[开始,[不要]])- >整数,返回第一索引值。提出了ValueError如果不存在的价值。)
    return 0

  def __add__(self, *args, **kwargs): # real signature unknown
    """ Return self+value. """
    pass

  def __contains__(self, *args, **kwargs): # real signature unknown
    """ Return key in self. """
    pass

  def __eq__(self, *args, **kwargs): # real signature unknown
    """ Return self==value. """
    pass

  def __getattribute__(self, *args, **kwargs): # real signature unknown
    """ Return getattr(self, name). """
    pass

  def __getitem__(self, *args, **kwargs): # real signature unknown
    """ Return self[key]. """
    pass

  def __getnewargs__(self, *args, **kwargs): # real signature unknown
    pass

  def __ge__(self, *args, **kwargs): # real signature unknown
    """ Return self>=value. """
    pass

  def __gt__(self, *args, **kwargs): # real signature unknown
    """ Return self>value. """
    pass

  def __hash__(self, *args, **kwargs): # real signature unknown
    """ Return hash(self). """
    pass

  def __init__(self, seq=()): # known special case of tuple.__init__
    """
    tuple() -> empty tuple
    tuple(iterable) -> tuple initialized from iterable's items
    
    If the argument is a tuple, the return value is the same object.
    # (copied from class doc)
    """
    pass

  def __iter__(self, *args, **kwargs): # real signature unknown
    """ Implement iter(self). """
    pass

  def __len__(self, *args, **kwargs): # real signature unknown
    """ Return len(self). """
    pass

  def __le__(self, *args, **kwargs): # real signature unknown
    """ Return self<=value. """
    pass

  def __lt__(self, *args, **kwargs): # real signature unknown
    """ Return self<value. """
    pass

  def __mul__(self, *args, **kwargs): # real signature unknown
    """ Return self*value.n """
    pass

  @staticmethod # known case of __new__
  def __new__(*args, **kwargs): # real signature unknown
    """ Create and return a new object. See help(type) for accurate signature. """
    pass

  def __ne__(self, *args, **kwargs): # real signature unknown
    """ Return self!=value. """
    pass

  def __repr__(self, *args, **kwargs): # real signature unknown
    """ Return repr(self). """
    pass

  def __rmul__(self, *args, **kwargs): # real signature unknown
    """ Return self*value. """
    pass

三.所有元祖数据类型举例

#count 用于计算元素出现的个数
name_tuple = ("zhangyanlin","suoning","nick")
print(name_tuple.count('zhangyanlin'))
 
#index获取指定元素的指定位置
name_tuple = ("zhangyanlin","suoning","nick")
print(name_tuple.index('zhangyanlin'))

四.索引

name_tuple = ("zhangyanlin","suoning","nick")
print(name_tuple[1])

五.切片

#取出第一位到最后一位减1的元素
name_tuple = ("zhangyanlin","suoning","nick")
print(name_tuple[0:len(name_tuple)-1])

六.总长度len

#取出最后一位减1的元素
name_tuple = ("zhangyanlin","suoning","nick")
print(name_tuple[len(name_tuple)-1])

七.for循环

name_tuple = ("zhangyanlin","suoning","nick")
for i in name_tuple:
  print(i)

那么使用 tuple 有什么好处呢?

Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。
如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

还记得我说过 dictionary keys 可以是字符串,整数和 “其它几种类型”吗?Tuples 就是这些类型之一。Tuples 可以在 dictionary 中被用做 key,但是 list 不行。实际上,事情要比这更复杂。Dictionary key 必须是不可变的。Tuple 本身是不可改变的,但是如果您有一个 list 的 tuple,那就认为是可变的了,用做 dictionary key 就是不安全的。只有字符串、整数或其它对 dictionary 安全的 tuple 才可以用作 dictionary key。

Tuples 可以用在字符串格式化中,我们会很快看到。

Python 相关文章推荐
寻找网站后台地址的python脚本
Sep 01 Python
python正则表达式match和search用法实例
Mar 26 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
python绘制简单折线图代码示例
Dec 19 Python
python奇偶行分开存储实现代码
Mar 19 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
python散点图实例之随机漫步
Aug 27 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
pytorch中的inference使用实例
Feb 20 Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 Python
Python数据类型详解(二)列表
May 08 #Python
Python数据类型详解(一)字符串
May 08 #Python
Python常用知识点汇总
May 08 #Python
Python对list列表结构中的值进行去重的方法总结
May 07 #Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 #Python
Python编写电话薄实现增删改查功能
May 07 #Python
Python的dict字典结构操作方法学习笔记
May 07 #Python
You might like
php中filter_input函数用法分析
2014/11/15 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
Python中os和shutil模块实用方法集锦
2014/05/13 Python
跟老齐学Python之Python安装
2014/09/12 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
社区母亲节活动总结
2015/02/10 职场文书
安全员岗位职责
2015/02/10 职场文书
保留意见审计报告
2015/06/05 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
学习党史心得体会2016
2016/01/23 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
SpringBoot Http远程调用的方法
2022/08/14 Java/Android