美文网首页Python入门到精通
Python基础010--类型转换及序列內建函数的使用

Python基础010--类型转换及序列內建函数的使用

作者: 不一样的丶我们 | 来源:发表于2018-02-27 08:34 被阅读1次

    类型转换以及序列內建函数 len() enumerater() sorted() reversed() zip()的使用

    • 类型转换

      • 序列类型转换工厂函数
      函数 含义
      list(iter) 把可迭代对象转换为列表
      str(obj) 把obj对象转换成字符串(对象的字符串表示法)
      unicode(obj) 把对象转换为Unicode字符串(使用默认编码)
      basestring 抽象工厂函数,其作用仅仅是为str和unicode函数提供父类,所以不能被实例化,也不能被调用
      tuple(iter) 把一个可迭代对象转换成一个元组对象
      In [96]: a = (1,2,3,4,5)
      In [97]: type(a)
      Out[97]: tuple
      In [98]: l = list(a)
      In [99]: l
      Out[99]: [1, 2, 3, 4, 5]
      In [100]: type(l)
      Out[100]: list
      In [101]: a = 1
      In [102]: a = str(a)
      In [103]: type(a)
      Out[103]: str
      In [104]: a = "中文"
      In [105]: type(a)
      Out[105]: str
      In [106]: a = a.decode("utf-8")
      In [107]: type(a)
      Out[107]: unicode
      In [109]: l
      Out[109]: [1, 2, 3, 4, 5]
      In [110]: t = tuple(l)
      In [111]: t
      Out[111]: (1, 2, 3, 4, 5)
      In [112]: type(t)
      Out[112]: tuple
      
    • 序列內建函数的使用

      • 序列类型可用的內建函数
        • 序列类型函数支持列表、元组、字符串使用
      函数名称 功能
      enumerate(iter) 接受一个可迭代对象作为参数,返回一个enumerate对象(同时也是一个迭代器),该对象生成由iter每个元素的index值和item值组成的元组
      len(seq) 返回seq的长度
      max(iter) 返回iter中的最大值
      min(iter) 返回iter中的最小值
      reversed(seq) 接受一个序列作为参数,返回一个逆序访问的迭代器
      sorted(iter,fuc=None,key=None,reverse=False) 接受一个可迭代对象作为参数,返回一个有序的列表:可选参数fuc、key、reverse的含义list.sort()內建函数的参数含义一样
      sum(seq,init=0) 返回seq和可选参数init的总和,其效果等同于reduce(operator.add,seq,init)
      zip([it0,it1..itN]) 返回一个列表,其第一个元素是it0、it1..这些元素的第一个元素组成的一个元组,第二个依次类推
      # len
      In [126]: str1 = "abc"
      In [127]: len(str1)
      Out[127]: 3
      
      # max min
      In [128]: str2 = "lmn"
      In [130]: str3 = "xyz"
      In [131]: max(str2)
      Out[131]: 'n'
      In [132]: min(str3)
      Out[132]: 'x'
      
      # enumerate     -->返回一个元组,由每个元素的下标index和item组成
      In [133]: s = "foobar"
      In [135]: for x, y in enumerate(s):
       ...:     print x, y
      0 f
      1 o
      2 o
      3 b
      4 a
      5 r
      
      # zip           -->返回一个列表,由两个字符串按顺序组成的元组
      In [138]: s = "foa"
      In [139]: t = "obr"
      In [140]: zip(s,t)
      Out[140]: [('f', 'o'), ('o', 'b'), ('a', 'r')]
          
      # sorted        -->排序,不改变原来的列表,重新打印出一个新的列表
      In [153]: list4 = [5,3,4,6,2,1]
      In [154]: ll = sorted(list4)
      In [155]: print list4
      [5, 3, 4, 6, 2, 1]
      In [156]: print ll
      [1, 2, 3, 4, 5, 6]
       
      In [247]: list1 = [('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]
      In [248]: sorted(list1,key=lambda x:x[0])
      Out[248]: [('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]
      In [249]: sorted(list1,key=lambda x:x[0], reverse=True)
      Out[249]: [('e', 3), ('d', 4), ('c', 6), ('b', 2), ('a', 1)]
      
      # reversed      -->接受一个序列作为参数,返回一个逆向访问的迭代器
      In [180]: a = [1,2,3,4,5]
      In [181]: aa = reversed(a)
      In [182]: print aa
      <listreverseiterator object at 0x7f0307e4c650>
      In [183]: for i in aa:
           ...:     print i
      5
      4
      3
      2
      1
      
    • sort、sorted、reverse、reversed的区别

      • reverse()和sort()的使用方式是一样的,无需参数,无返回值,二者均是列表的用法,调用后会改变原列表
      • reversed()和sorted()的调用方式相同,需要给出参数,参数可以是列表、元组、字符串,调用后不改变原对象

    相关文章

      网友评论

        本文标题:Python基础010--类型转换及序列內建函数的使用

        本文链接:https://www.haomeiwen.com/subject/hvcpxftx.html