python的组合数据包括:1.列表list[   ] 2.元组tuple(),3.字典dict{"x":"y"},4.集合set{}

1.创造组合数据:均可直接使用创造如:list1=[1,2,3,4]  tuple1(1,2,3,4) dict{"1":"2"."3":"4"}

          对于list tuple和set可以互相转化 如:list1=[1,2,3,4]  set1=set(list1) tuple1=tuple(list1)

        字典比较特殊使用dict()创造但是有区别:

                            1.使用关键字创造字典:dict1=dict{name="sm7",grade="100"}

                            2.使用映射函数 dict1=dict(zip(["name,grade"],["sm7",100]))   #字符串必须加“”上一个是关键字所以不用加

                            3.使用迭代添加 dict1=dict([("name","sm7"),("grade",100),("height",200)])   #dict()后是一个列表没一个key-vaule是其中的一个元素

2.访问:

      1.set是无序的所以不能单体访问只能整体输出

      2.对于list和tuple,可以采取正常C语言数组访问类型:如 list1[0]  #数组是有0开始所以访问是由0到numble-1为范围

               还可以切片式访问,切片式访问指访问一部分从某一个位置到另一个位置还可以增加间隔 如list1[0:9:2]意思是从list的第二个位置到第八个位置中途间隔为2,也可以不添加间隔

      3.对于字典的访问:同上可使用[]这个符号作为访问,但不同的是,对于dict这种特殊的组合数据,采用dict1[key]来获取value,或dict1.get(key)函数来获取对应的value。dict.items()返回字典所有,dict.keys()返回所有的key,dict.values()返回所有的value,通常采用for循环提出。如 for x,y in dict1.items()  对于items而已首先进行获取的是key,其后一个为value。

3.添加、修改和删除元素:

      1.元组是固定的无法修改和删除里面的元素,只能对元组进行删除重建#所以在这一小节中tuple可以忽略

      2.修改元素:#set是无序的所以无法指定修改list的元素。修改只能在list和dict里面

            1.直接赋值替换:如list1[1]= 列表     dict1[key]=value

            2.list特有的切片赋值list1[2:4]=[1,“火龙果”]

      3.删除元素 :

            list:del list[index]     list.pop()#删除末尾的list   若添加了index就是删除指定的list  如list.pop(index) list.remove(index)同上 list.clear()直接清空 list[::] = []  同样可以切片删除

            dict  :del dict1[key] 删除指定key的key-value  dict1.pop(key)同上 dict1.popitem()随机删除一个元素     dict1.clear()清空dict

            set :  set.remove(item) set.discard(item)删除指定item set.pop()随机删除一个元素 set.clear()清空

            综上可以看见del xxx[指定]对于list和dict是通用的

            .remove(num)对于list和 set可以指定删除

             pop()对于list是删除末尾对于set是随机删除而dict的随机删除是popitem()   而xxx.pop(num)对于list和dict是指定删除

            都有一个.clear()清空

      4.复制组合数据

            浅复制与复制:在python中浅复制.copy()函数是指复制后的单位是独立的与之前的无关。复制 如 list1=list2只list1与list2是等同的更改list1和list2任意一个另外一个都会同时修改

            *tuple没有浅复制

4.特殊运算

       set:集合肯定会有集合的运算:

          并集 set1.union(set2)  ==set1 | set2

          交集 set1.intersection(set2) == set1 &set2

          差集 set1.difference(set2) == set1 - set2

          子集 set1.issubest(set2) == set1 < set2 判断子集

          成员运算 item in set1 或 item not in set 1同上

      tuple 和list:

            运算“+”将几个列表组合在一起成为一个新的 list1=list2+list3+...+list5

            *  乘法符号:numble与list相乘得到一个重复N遍list的新的list

            in与not in 上面有讲    

             两个list或tuple可以用<>来比较从第一个元素开始对等比较

list常常作为栈和队列来使用。append表示入栈,pop出栈。

而作为队列使用时,先导入collections模块中的deque再通过deque创建队列 如:

from collections import deque

q = deque(["maybe","ame","ppd"])

python的组合数据的更多相关文章

  1. 易百教程人工智能python修正-人工智能数据准备-标记数据

    我们已经知道,某种格式的数据对于机器学习算法是必需的. 另一个重要的要求是,在将数据作为机器学习算法的输入发送之前,必须正确标记数据. 例如,如果所说的分类,那么数据上会有很多标记. 这些标记以文字, ...

  2. Python的组合数据类型

    """ Python的组合类型: 序列类型:元素之间存在先后关系,可以通过索引来访问 列表: 元组: 字符串: 映射类型:用键值来表示数据 字典: 集合类型:元素是无序的 ...

  3. 使用Python解析JSON数据的基本方法

    这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下:     ----------------------------------- ...

  4. python matplotlib plot 数据中的中文无法正常显示的解决办法

    转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...

  5. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  6. Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

  7. 为什么说Python 是大数据全栈式开发语言

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...

  8. python的组合数据类型及其内置方法说明

    python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...

  9. 用Python浅析股票数据

    用Python浅析股票数据 本文将使用Python来可视化股票数据,比如绘制K线图,并且探究各项指标的含义和关系,最后使用移动平均线方法初探投资策略. 数据导入 这里将股票数据存储在stockData ...

随机推荐

  1. bugku 有一张图,还单纯吗

    下载图片后以多种方式打开.分析文件类型都没能找到flag.推测存在隐藏文件,即文件可分离. 注:文件分离需要 binwalk 工具,在Ubuntu操作系统下 binwalk 的安装方法可参考此博客:h ...

  2. Solr与JDK对应版本关系,Tomcat与JDK版本对应关系

    最新在部署solrCloud集群,由于自己机器上用的JDK都是JDK1.7的,然后我就从网上下载了最新下载了最先的solr6.6.0和最新的Tomcat9.0,部署了一下,开始报错,提示solr和JD ...

  3. Flink架构(三)- 事件-时间(Event-Time)处理

    3. 事件-时间(Event-Time)处理 在“时间语义”中,我们强调了在流处理应用中时间语义的重要性,并解释了处理时间与事件时间的不同点.处理时间较好理解,因为它基于本地机器的时间,它产生的是有点 ...

  4. 题解【CJOJ1071/UVA】硬币问题

    P1071 - [Uva]硬币问题 Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目 ...

  5. HTML5学习(5)实体字符

    HTML   Entity 实体字符通常用于在页面中显示一些特殊符号. 书写方式: 1. &单词; 2. &#数字; 常用实体字符: <  < litter than &g ...

  6. 《你一生的故事》--------------science fiction-------------《巴比伦塔》

    而塔就不一样了,不等你靠近去触摸它,就已经感到一种纯粹的坚固与力量.所有的传说都认为,建造这座塔的目的,是为了获得一种力量,这种力量是任何一座巴比伦庙塔都未曾拥有的.普通的巴比伦塔只是用太阳晒干的泥砖 ...

  7. 在使用VS过程中关于Javascript没有智能提示的解决方法

    问题:编写基本Script代码没有问题,但是在编写DOM代码时候没有智能提示.也就是在编写一般javascript代码时候没有问题,但是要写DOM代码的时候发现没有智能提示,如document等都需要 ...

  8. PMP概略学习上--基本思想和概念

    1 前言 花了10天左右的时间,对PMP(Project Management Professional,项目管理专业人士)考试认证做了一个概略学习.此次学习的目的是整体了解项目管理知识,并不是以考试 ...

  9. jquery--获取input checkbox是否被选中以及渲染checkbox选中状态

    jquery获取checkbox是否被选中 html <div><input type="checkbox" id="is_delete" n ...

  10. (转)JSONObject的toBean 和 fromObject

    public static void main(String[] args) { Map map=new HashMap();map.put("我","妹"); ...