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

786次阅读  |  发布于5年以前

本文详细归纳整理了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[0] >>>123
3.字典**

复制代码 代码如下:

d = {'Jack':'jack@mail.com','Tom':'Tom@main.com'}  
d['Jack']            >>>'jack@mail.com  
d['Jim'] = 'Jim@sin.com'    >>>{'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}

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8