零基础学Python之结构化数据(附详细的代码解释和执行结果截图)
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之结构化数据(附详细的代码解释和执行结果截图)的更多相关文章
- 零基础学python之入门和列表数据(附详细的代码解释和执行结果截图)
Python学习笔记 1 快速入门 下载安装好Python之后,在开始找到 双击打开一个窗口,这是一个shell界面编辑窗口,点击左上角的file——new file新建一个窗口,这里可以输入完整的代 ...
- 小甲鱼零基础学python第25讲课后习题动手练习--通讯录
小甲鱼零基础学python第25讲课后习题动手练习---通讯录 **************************通讯录要求******************************* 输入指令: ...
- [零基础学python]为什么要开设本栏目
这个栏目的名称叫做"零基础学Python". 如今网上已经有不少学习python的课程.当中也不乏精品.按理说,不缺少我这个基础类型的课程了.可是,我注意到一个问题.无论是课程还是 ...
- 零基础学python》(第二版)
---恢复内容开始--- 零基础学python>(第二版) python学习手册 可以离线下载, .chn格式, 插入小幽默笑话,在学习累的时候看看笑话 放松一下 欢迎下载转载,请注明出处,谢 ...
- 零基础学python,python视频教程
零基础学python,python视频教程 这是我收集到的互联网上的视频资源,所有内容均来自互联网.仅供学习使用. 目前我在也在学习过程中,会把学习过程中遇到问题以及解决问题的方式,总结到我的公众号[ ...
- 零基础学python之函数与模块(附详细的代码和安装发布文件过程)
代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...
- Python学习课程零基础学Python
python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...
- 零基础学python之构建web应用(入门级)
构建一个web应用 前面的学习回顾: IDLE是Python内置的IDE,用来试验和执行Python代码,可以是单语句代码段,也可以是文本编辑器中的多语句程序. 四个内置数据结构:列表.字典.集合和元 ...
- 零基础学Python:数据容器
1.常用操作 列表常用操作 在 ipython 中定义一个 列表,例如: l= list() 输入 l. 按下 TAB 键, ipython 会提示 字典 能够使用的函数如下: 可以到官方网址查询使用 ...
随机推荐
- ajax跨域请求在IE8中存在的问题
从没打算怎么去兼容老版本IE,毕竟微软自己都放弃了,可是最近做好的东西在所有的IE下都会出问题:GetJson不执行 本来觉得挺简单的,度娘也给出了一大堆的解决方案,可惜,基本上都是在说缓存,实际上并 ...
- python第二课——数据类型1
day02(上午)主要讲了进制问题,小编之前已经发过了 day02(下午): 1.数据类型: 分类: 1).整数型:int浮点型(小数):float布尔型(True/False):bool 2).字符 ...
- 4196. [NOI2015]软件包管理器【树链剖分】
Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖( ...
- Apache HttpComponents中的cookie匹配策略
Apache HttpComponents中的cookie匹配策略 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre. ...
- linq to sql 和linq to php 的区别
linq to sql 这是自.net框架3.5版本以上做出了相关规定. linq to php .Net的linq库的忠实移植到PHP 这个库使得大量使用匿名函数在PHP 5.3中引入的功能.因此, ...
- sqoop数据导入命令 (sql---hdfs)
mysql------->hdfs sqoop导入数据工作流程: sqoop提交任务到hadoop------>hadoop启动mapreduce------->mapreduce通 ...
- java基础四 基本语法
java基本语法: 1:java严格区分大小写,好比main和Main是完全不同的概念. 2:一个java的源文件中可以定义多个类,但是其中最多只能一个类被定义成public类,若源文件中包括publ ...
- Python学习笔记系列——读写文件以及敏感词过滤器的实现
一.读文件 #打开文件,传入文件名和标识符,r代表读 f= open('\\Users\ZC\Desktop\zc.txt','r') #调用read方法一次性读取文件的全部内容,存入内存,用str对 ...
- listener.ora 与 tnsnames.ora
listener.ora 是oracle服务器端的网络配置文件,oracle 根据它来配置监听服务. tnsnames.ora 类似于unix 的hosts文件,提供的tnsname到主机名或者ip的 ...
- Spring的简单应用与基本原理
一:重要概念理解 Spring很简单,一定不要想得太复杂,只是有些东西很拗口而已 1:IOC(控制反转) 概念:利用反射的原理将对象创建的权利交给了Spring,Spring在运行的时候根据配置文件( ...