3结构化数据

字典(查找表)、集合、元组、列表

3.1字典

是有两列任意多行的表,第一列存储一个键,第二列存储一个值。

它存储键/值对,每个唯一的键有一个唯一与之关联的值。(类似于映射、表)

它不会维持插入时的顺序。

Python的字典实现为一个大小可变的散列表,它针对大量特殊情况进行了充分的优化。因此,字典可以非常快速的完成查找。

For循环可以用来迭代处理一个字典。每次迭代时,键会赋给循环变量,用来访问数据值。

'''

字典的存储结构:

各个键与相应的值用:连接;

每个值与下一个值之间用逗号连接;

开始结束用大括号{}包围

'''

person3={'Name':'ting',

 'Genger':'male',

 'Occupation':'Researcher',

 'Home Planet':'shaanxi province'}

#在查看person3时,不是按照定义的顺序,字典中的数据是无序的。

#使用键来访问字典中的数据。

person3['Home Planet']

#会显示shaanxi province

Person3[‘Age’]=33

#向字典增加一行数据,将一个对象赋值一个新键。

 

回顾vowels3.py程序:

它返回的是一个单词中的元音:

而现在需要一个新的功能是列出任意一个单词中的元音以及它出现的频度。

下面研究使用字典来改进这个元音程序:

   1.如何把这个字典初始化,使其中的值都为0?

 

  2.如何递增字典中的值?

‘e’对应的数字已经变成2

  3.如何迭代处理字典?

 

用for处理字典时,解释器只处理字典的键,而不处理值。

  4.如何指定输出时的顺序?

 

使用sorted(found)   #sorted是一个内置函数,可按照字母顺序组织输出。

用items迭代处理字典:

执行结果:

使用setdefault:为了缩短代码,减少初始化的语句,先判断键的存在并初始化。

键必须初始化!!!

 

只打印单词中出现的元音。这样不会输出无意义的结果。

指令:

  setdefault()访问一个键之前需要确保它的存在

  对于使用 if 'pear' not in fruits:

      fruits['pear']=0 来初始化相比,setdefault更简单。

  items()迭代处理字典。

  sorted()排序。

 

3.2集合(set)

集合的查找速度快于列表,不允许有重复值。用’{ }’包围,对象之间用’,’分隔,

1合并集合:union

Union将一个集合与另一个集合合并,再把合并结果赋给一个新变量u,

u集合由两个集合中所有唯一的对象组成。

使用SORTED LIST函数输出一个有序的由唯一字母组成的列表u_list。

2找到非交集元素:difference

difference函数将vowels中的对象和Word中的对象进行比较,然后返回一个新的集合(d),是包含在vowels中但不在Word中的对象。

 

3找到交集元素:intersection

 

i集合由即在vowels又在set(word)中的所有对象组成。

简化vowels2程序:

3.3元组(tuple)

 

元组用()定义列表是【】,

一旦创建和填充数据,元组就不可变。

注意只有一个对象的元组

定义时必须在()中加上一个逗号,否则就被当作为字符串类型

 

 

此内容之前是1快速入门和2列表数据,链接已经在后面了,欢迎一起交流学习!0(≧▽≦)0:

https://www.cnblogs.com/sebastiane-root/p/9175575.html

下期4函数与模块:https://www.cnblogs.com/sebastiane-root/p/9343461.html 相信这个你看了一定有新的体会

这个编辑器(黑色背景那个)很漂亮,是吗?

在官网上可以下载sublime text3 然后找个破解版,不过在使用Python交互的函数如input时需要添加一个包,详细的步骤见链接:

https://www.cnblogs.com/ginvip/p/6241699.html

零基础学Python之结构化数据(附详细的代码解释和执行结果截图)的更多相关文章

  1. 零基础学python之入门和列表数据(附详细的代码解释和执行结果截图)

    Python学习笔记 1 快速入门 下载安装好Python之后,在开始找到 双击打开一个窗口,这是一个shell界面编辑窗口,点击左上角的file——new file新建一个窗口,这里可以输入完整的代 ...

  2. 小甲鱼零基础学python第25讲课后习题动手练习--通讯录

    小甲鱼零基础学python第25讲课后习题动手练习---通讯录 **************************通讯录要求******************************* 输入指令: ...

  3. [零基础学python]为什么要开设本栏目

    这个栏目的名称叫做"零基础学Python". 如今网上已经有不少学习python的课程.当中也不乏精品.按理说,不缺少我这个基础类型的课程了.可是,我注意到一个问题.无论是课程还是 ...

  4. 零基础学python》(第二版)

    ---恢复内容开始--- 零基础学python>(第二版) python学习手册 可以离线下载,  .chn格式, 插入小幽默笑话,在学习累的时候看看笑话 放松一下 欢迎下载转载,请注明出处,谢 ...

  5. 零基础学python,python视频教程

    零基础学python,python视频教程 这是我收集到的互联网上的视频资源,所有内容均来自互联网.仅供学习使用. 目前我在也在学习过程中,会把学习过程中遇到问题以及解决问题的方式,总结到我的公众号[ ...

  6. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)

    代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  7. Python学习课程零基础学Python

    python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...

  8. 零基础学python之构建web应用(入门级)

    构建一个web应用 前面的学习回顾: IDLE是Python内置的IDE,用来试验和执行Python代码,可以是单语句代码段,也可以是文本编辑器中的多语句程序. 四个内置数据结构:列表.字典.集合和元 ...

  9. 零基础学Python:数据容器

    1.常用操作 列表常用操作 在 ipython 中定义一个 列表,例如: l= list() 输入 l. 按下 TAB 键, ipython 会提示 字典 能够使用的函数如下: 可以到官方网址查询使用 ...

随机推荐

  1. Css中路径data用法

    Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入. data:,文本数据 data:text/plain,文本数据 data: ...

  2. 【转载】MySQl 数据库插入加锁分析

    http://yeshaoting.cn/article/database/mysql%20insert%E9%94%81%E6%9C%BA%E5%88%B6/

  3. MySQL主从.md

    MySQL Replication 概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它 ...

  4. ubuntu18.04 mariadb start失败

    在Ubuntu 安装mariadb 再restart 后出现错误 journalctl -xe 发现 apparmor权限问题 AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用 ...

  5. Odoo图片如何显示

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281423.html odoo没有专门的图片标签,但是可以通过widget来控制field标签来显示图片内容. ...

  6. (第二章)改善JavaScript,编写高质量代码。

    建议34:字符串是非值操作 var a = "javascript"; var b = a; b = b.toUpperCase(); alert(a); //javascript ...

  7. 豆瓣电影top250爬取并保存在MongoDB里

    首先回顾一下MongoDB的基本操作: 数据库,集合,文档 db,show dbs,use 数据库名,drop 数据库 db.集合名.insert({}) db.集合名.update({条件},{$s ...

  8. (转)Python学习笔记系列——Python是一种纯粹的语言

    此文出自知乎灵剑,原文传送门:https://zhuanlan.zhihu.com/p/23926957. 在摸索适合自己的语言学习方法,看到一篇好文章,转之,侵删. Python的语法范式相当多.知 ...

  9. 【游记】NOIP2018 退役滚粗记

    day0 早上6点半到机房 又复习了一下还没看的板子 刷了2道水题练手感 结果还是肛起了fgo 早上单抽出梅林 美滋滋 感觉把两天的RP都用光了 早上坐上了去福州的动车 一路上说说笑笑 自信满满 下午 ...

  10. C++ Primer 学习笔记_45_STL实践与分析(19)--泛型算法的结构

    STL实践与分析 --泛型算法的结构 引言: 正如全部的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础. 算法最主要的性质是须要使用的迭代器种类.全部算法都指定了它的每一个迭代器形參可使用 ...