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系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
Nov 16 Python
python自动裁剪图像代码分享
Nov 25 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
python实现画一颗树和一片森林
Jun 25 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
python+opencv像素的加减和加权操作的实现
Jul 14 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
Django nginx配置实现过程详解
Sep 10 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
python爬虫beautifulsoup解析html方法
Dec 07 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实现小型站点广告管理
2006/10/09 PHP
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
解决Python一行输出不显示的问题
2018/12/03 Python
python画图常规设置方式
2020/03/05 Python
Python Selenium库的基本使用教程
2021/01/04 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
应聘护士自荐信
2013/10/21 职场文书
工程力学硕士生的自我评价范文
2013/11/16 职场文书
战友聚会邀请函
2014/01/18 职场文书
面试必备的求职信
2014/05/25 职场文书
代理人委托书
2014/08/01 职场文书
党委班子剖析材料
2014/08/21 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
小学新教师个人总结
2015/02/05 职场文书
民间借贷借条如何写
2015/05/26 职场文书
国情备忘录观后感
2015/06/04 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书