容器概念:

        线性表         : 有序的容器结构

        数组(array) : 是由连续的内存空间组成

        栈(stack)      : 先进后出,后进先出

        队列(queue)   :先进先出,后进后出

        链表(list)  : 是由不连续的内存空间组了逻辑结构 。单向链表 #内存小,效率低

                                                                                     双向列表 #内存大,效率高

下面将依次介绍python的内置容器

        1.list

        3.set 

        2.tuple

        4.dict

        的概念、使用及遍历方法

                                                                        


Python 的list(列表)   底层的视线就是用的双向链表结构

定义list(列表)

        通过弱数据类型语言,直接将值赋值为一个变量

        A = [xxxxxx]                 #给列表A赋值

        A = list[xxxxxx]            #通过List全局函数创建列表

        len(A)                         #查看列表长度(获取列表A的长度)

        A [1]                            #可以通过下标获取值(下标从0开始),获取列表A的第二个值

列表的常见使用方法:

        append()                      #在尾部追加新的元素

         insert(index,元素)        #在特定位置(index)位置插入新的元素

        clear()                         #清空列表

        remove()                     #删除元素,没有就会异常

        pop(index)                  #删除特定位置(index)的元素,默认删除最后一个

        count()                       #统计某个元素的在列表里的数量

        index()                        #获取元素在列表中的第一个位置索引,没有就会异常

        copy()                        #浅拷贝对象(后续增加不会继承)

        extend()                      #列表合并

        reverse()                     #反转列表的顺序

        sort()                         #排序列表元素,默认升序,可以借用reverse达成降序

注:全局函数也有reverse,要查看先导入bulitins包,与list中的reverse功能类似。

遍历列表:

        方式一:

                        for i in A:

                                print(i)

        方式二:

                        Index = 0

                        While index < len(A):

                        print(A[index])

                        index += 1


set的使用:

hash表的实现(哈希、散列表):无序(求余实现)、不重复

                 A=Set {.....}                 #定义A为set(弱数据类型)

                 A=Set{[......]}               #set也可以接受列表(list也可以接受set)

                                                                                这个方法可以用于去重

Set的常见方法:

        add()                          #添加新元素

        clear()                         #清空列表

        copy()                         #浅拷贝对象(后续增加不会继承)

        A.Intersection(B)         #A与B的交集

        A.Union(B)                  #A与B的并集

        difference()                  #差集

        discard()                     #删除元素,如果没有就什么都不做

        remove()                     #删除元素,没有就会异常

        pop()                          #随机移除元素,为空就异常 

  注:set无下标,所以只能用for来遍历,后面用dict来演示


元祖(tuple): #是一种不可变的数据类型

        season = (‘春’,’夏’)                 #定义元祖

        season[1]                                 #获取’春’(不可变,只能查看)

元祖常见方法:

        count()                                     #统计某个元素的在列表里的数量

        index()                                     #获取元素在列表中的第一个位置索引,没有就会异常

注:不可变数据若包含了可变对象的话,该部分就可以变

(eg:元祖中的元素是列表)


Dict(字典): #内存结构类似于二维表格

        D = {‘name’: ‘小王’,’age’:’18’}                 #创建字典name 对应小王;age对应18

        D[‘name ’]                                              #访问字典(获取到’小王’)

        Del  D[‘age’]                                           #删除内容

字典常用方法:

        clear()                                                     #清空列表

        copy()                                                     #浅拷贝对象(后续增加不会继承)

        get()                                                       #获取值

        keys()                                                     #获取所有的键(‘name’就是键)

        values()                                                   #获取所有的值(一般与keys一起用)

        items()                                                    #获取所有内容(相当于keys+values)

        pop(‘name’)                                              #删除’name’的键值对(通过键来删)

        popitem()                                                 #以栈的形式删除(后进先删)

字典遍历:

        方式一:

                          for key in 字典对象:

                                   print(key,对象[key])

        方式二:

                        for key in d.keys():

                                print(key, d.get(key))

        方式三:         #可以加括号,效果不变

                        for key ,value in d.items()      = =       for( key ,value) in d.items()

                                print(key ,value)                                 print(key ,value)