• 技术文章 >后端开发 >Python教程

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

    2016-06-10 15:04:55原创665
    一.基本数据类型

      整数: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
    

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

    #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 可以用在字符串格式化中,我们会很快看到。

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    大前端线上培训班

    相关文章推荐

    • python fabric实现远程操作和部署示例• python数据结构之二叉树的统计与转换实例• Python使用urllib2模块抓取HTML页面资源的实例分享• python读写ini配置文件方法实例分析• python实现字符串和日期相互转换的方法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网