美文网首页人工智能AI学习
2019-04-26第三节-元组tuple

2019-04-26第三节-元组tuple

作者: 自律阳阳 | 来源:发表于2019-04-26 07:53 被阅读0次

    元组tuple

        一个有序的元素组成的集合

        使用小括号()表示

        元组是不可变对象

    元组的定义,初始化

    定义

        tuple()->empty tuple

        tuple(iterable)->tuple initialized from iterable's items

        t =tuple() #工厂方法

        t = ()

        t = tuple(range(1,7,2))

        t = (2,4,6,3,4,2)

        t = (1,) #一个元素元组的定义

        t = (1,)*5

        t = (1,2,3)*6 #重复前面元组6次

    元组元素的访问

        支持索引(下标)

        正索引:从左至右,从0开始,为列表每一个元素编号

        负索引:从右至左,从-1开始

        正负索引不可以超界,否则引起异常indexError

        元组通过索引访问

            tuple[index],index就是索引,使用中括号访问

            t[1]

            t[-2]

    元组查询

        index(value,[start,stop])

            通过值value,从指定区间查找列表内的元素是否匹配

            匹配第一个立即返回索引

            匹配不到,抛出异常valueError

        count(value)

            返回列表中匹配value的次数

        时间复杂度

            index和count方法都是O(n)

            随着列表数据规模的增大,而效率下降

        len(tuple)

            返回元素的个数

    元组其他操作

        元组是只读的,所以增、改、删无法操作

    命名元组namedtuple

        帮助文档中,查阅namedtuple,有使用例程

        namedtuple(typename,field_names,verbose=False,rename=False)

            命名元组,返回一个元素的子类,并定义了字段

            field_names可以是空格或者逗号分隔的字段字符串,可以是字段的列表

    from conllections import namedtuple

    Point = namedtuple('P','x,y')

    p1 = Point(11,22)

    Student = namedtuple('Student','name age')

    tom = Student('tom',20)

    jerry = Student('jerry',19)

    tom.name

    练习:

        依次接收用户输入的3个数,排序后打印

            转换int后,判断大小排序

            使用max函数

            使用列表的sort方法

            冒泡法

    1、if ...else

    2.tuple

    冒泡法:

        冒泡法需要数据一轮轮比较

         可以设定一个标记判断比较此轮是否有数据交换发生,如果没有发生交换,可以结束排序,如果发生变化,继续下一轮排序

        最差的排序情况是,初始顺序与目标顺序完全相反,遍历次数1,。。。。n-1之和n(n-1)/2

        最好的排序情况,初始顺序和目标顺序完全相同,遍历次数n-1

        时间复杂度O(N²)

    相关文章

      网友评论

        本文标题:2019-04-26第三节-元组tuple

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