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中pygame模块用法实例
Oct 09 Python
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
初步认识Python中的列表与位运算符
Oct 12 Python
pip安装Python库时遇到的问题及解决方法
Nov 23 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
python3实现高效的端口扫描
Aug 31 Python
使用python创建生成动态链接库dll的方法
May 09 Python
Python常用模块函数代码汇总解析
Aug 31 Python
python3访问字典里的值实例方法
Nov 18 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
Python进行区间取值案例讲解
Aug 02 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 eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
JS数学函数Exp使用说明
2012/08/09 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
python实现删除文件与目录的方法
2014/11/10 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
Django model select的多种用法详解
2019/07/16 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
利用python计算时间差(返回天数)
2019/09/07 Python
什么是python的自省
2020/06/21 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
项目管理计划书
2014/01/09 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
火箭队口号
2014/06/18 职场文书
销售督导岗位职责
2015/04/10 职场文书
投诉信范文
2015/07/02 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书