美文网首页
python的几种数据结构

python的几种数据结构

作者: 佑___ | 来源:发表于2018-03-13 23:59 被阅读0次

    Python 中 几种数据结构的整理: 列表、字典、元组、集合

    列表 : shoplist = ['apple', 'mango', 'carrot' , 'banana']

    字典 : di = {'a' : 123,'b' : 'something'}

    集合 : jihe = {'apple', 'pear', 'apple'}

    元组 : t = 123,456,"hello"

    1. 列表

        空列表 :  a = []

        函数方法 : a.append(3)                          >>>[3]

                     a.extend([3,4,5])                        >>>[3,3,4,5]      添加一个列表序列

                     a.insert(1, 'hello')                        >>>[3,'hello',3,4,5]

                     a.remove(3)                                >>>['hello',3,4,5]   删除第一个出现的3,没有3则报错

                     a.pop()                                        >>>['hello',3,4]

                     a.pop(0)                                      >>>[3,4]

                     a.index(4)                                    >>>1      返回出现的第一个4的下标

                     a.count(3)                                   >>>> 1列表中元素3的个数

                    a.sort                                             >>> [3,4]   排序

                    a.reverse()                                    >>> [4,3]   反序

    删除元素的方法

                    a.remove(3)                                    通过值删除元素,删除第一个参数值的元素

                    a.pop()                                            通过下标删除元素,默认删除列表最后一个值,带参数则删除下标为参数的元素

                    del a[0]                                             通过下标删除元素

                    del a[2:4]                                           删除a表下表为2,3的元素

                    del a[:]                                                删除a列表所有元素

                    del a                                                    删除列表

    列表推导式:

                    vec = [2,4,6]

                    [3*x for x in vec if x<6]                        >>>[6,12]     3*2,3*4

                    vec2 = [1,2,3]

                    [x*y for x in vec for y in vec2]              >>>[2,4,6,4,8,12,6,12,18]

    嵌套列表推导式

                    mat = [

                    [1,2,3]

                    [4,5,6]

                    [7,8,9]

                    ]

                    print([[row[i] for row in mat] for i in [0,1,2]])

                    >>>[[1,4,7],[2,5,8],[3,6,9]]

            思考 : list(zip(mat))  和list(zip(*mat))结果会有什么不同

    2. 元组

            空元组 : t =()

            元组赋值:    t = (123,345)

                        t[]     >>>123

    3. 字典

            d = {'Jack' : 'jack@mail.com','Tom':'Tom@main.com'}

            d['Jack']                                 >>>'jack@mail.com'

            d['Jack']                                >>>{'Jim': 'Jim@sin.com', 'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}              

            del d['Jim']                            >>>{'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}

            list(d.keys())                          将返回一个字典中所有关键字组成的无序列表

            sorted(d.keys())                     将返回一个字典中所有关键字组成的排序列表

            dict()                                       构造函数可以直接从key-value对中创建字典

            dict([('Tim',123),('Tiny',234)])    >>>{'Tiny': 234, 'Tim': 123}   

            推导式创建字典 :

                 {d2:d2+'@main.com' for d2 in list(d.keys())}

                >>>{'Jack': 'Jack@main.com', 'Tom': 'Tom@main.com'}

        练习: 循环输出字典中的键值对

        for name.email in d.items():    

                      print(name,email)

    4. 集合

       空集合 : A =set()        想要创建空集合,必须使用set()

        演示:

            basket = {'apple','orange','apple'}    >>>{'orange', 'apple'}    注意重复的元素只显示一个?

            'apple' in basket              >>>True

            'pear' in basket            >>>False

        集合的数学运算:    

            a = set('ababcdabca')        >>>{'c', 'b', 'a', 'd'}

            b = {'a','b','m'}            >>>{'b', 'a', 'm'}

            a - b        >>>{'c', 'd'}

            b - a        >>>{'m'}

            a | b        >>>{'c', 'd', 'b', 'a', 'm'}

            a & b        >>>{'a','b'}

            a ^ b        >>>{'c','d','m'}

        集合推导式:

           {x for x in a if x not in 'ab'}    >>>{'c','d'}

    相关文章

      网友评论

          本文标题:python的几种数据结构

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