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


Posted in Python onNovember 20, 2014

本文详细归纳整理了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}
   

推导式创建字典:

        {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程序设计有所帮助。

Python 相关文章推荐
基于python的字节编译详解
Sep 20 Python
Django实现简单分页功能的方法详解
Dec 05 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
Python爬虫文件下载图文教程
Dec 23 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
Python yield生成器和return对比代码实例
Apr 20 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
pycharm 关掉syntax检查操作
Jun 09 Python
Python drop方法删除列之inplace参数实例
Jun 27 Python
Python延迟绑定问题原理及解决方案
Aug 04 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
python有证书的加密解密实现方法
Nov 19 #Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 #Python
Python实现向QQ群成员自动发邮件的方法
Nov 19 #Python
python端口扫描系统实现方法
Nov 19 #Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 #Python
python中urllib模块用法实例详解
Nov 19 #Python
python统计一个文本中重复行数的方法
Nov 19 #Python
You might like
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
理解JS事件循环
2016/01/07 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
深入理解Python变量与常量
2016/06/02 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
抽象类和接口的区别
2012/09/19 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
大学生职业生涯规划书
2014/03/14 职场文书
2014年保密工作总结
2014/11/22 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python