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使用PythonMagick将jpg图片转换成ico图片的方法
Mar 26 Python
Windows下PyMongo下载及安装教程
Apr 27 Python
Python解析树及树的遍历
Feb 03 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
python实现最小二乘法线性拟合
Jul 19 Python
关于Python3 类方法、静态方法新解
Aug 30 Python
python实现LRU热点缓存及原理
Oct 29 Python
Python变量作用域LEGB用法解析
Feb 04 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 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
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
vue组件的写法汇总
2018/04/12 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python实现的多线程http压力测试代码
2017/02/08 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python实现桌面气泡提示功能
2019/07/29 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
公证书标准格式
2014/04/10 职场文书
正科级干部考察材料
2014/05/29 职场文书
python process模块的使用简介
2021/05/14 Python
Python实现socket库网络通信套接字
2021/06/04 Python
JavaScript数组 几个常用方法总结
2021/11/11 Javascript
Redis高可用集群redis-cluster详解
2022/03/20 Redis