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 28 Python
Python编程中的for循环语句学习教程
Oct 14 Python
分享6个隐藏的python功能
Dec 07 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
Apr 26 Python
10个Python小技巧你值得拥有
Sep 29 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
Python实现封装打包自己写的代码,被python import
Jul 12 Python
Python pymsql模块的使用
Sep 07 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 Python
Django自定义YamlField实现过程解析
Nov 11 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 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
农民C键的运用技巧
2020/03/04 星际争霸
PHP中的加密功能
2006/10/09 PHP
PHP脚本中include文件出错解决方法
2008/11/20 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php中explode函数用法分析
2014/11/15 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
pyside写ui界面入门示例
2014/01/22 Python
Python中内建函数的简单用法说明
2016/05/05 Python
python中解析json格式文件的方法示例
2017/05/03 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python 实现兔子生兔子示例
2019/11/21 Python
Python函数生成器原理及使用详解
2020/03/12 Python
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
大学生专业个人学习的自我评价
2013/10/26 职场文书
求职意向书
2014/07/29 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
python模板入门教程之flask Jinja
2022/04/11 Python