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最基本的操作字典的方法
Apr 24 Python
Python实现文件内容批量追加的方法示例
Aug 29 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
浅析python协程相关概念
Jan 20 Python
python实现K最近邻算法
Jan 29 Python
Python中文件的读取和写入操作
Apr 27 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Python rabbitMQ如何实现生产消费者模式
Aug 24 Python
Visual Studio code 配置Python开发环境
Sep 11 Python
python实现xml转json文件的示例代码
Dec 30 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抓取页面与代码解析 推荐
2010/07/23 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
分享一个常用的Python模拟登陆类
2015/03/29 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
如何获取Python简单for循环索引
2019/11/21 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
软件测试笔试题
2012/10/25 面试题
商场拾金不昧表扬信
2014/01/13 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
机关节能减排实施方案
2014/03/17 职场文书
节约用水倡议书
2014/04/16 职场文书
司法局火灾防控方案
2014/06/05 职场文书