首页 技术 正文
技术 2022年11月12日
0 收藏 754 点赞 4,699 浏览 1645 个字

3结构化数据

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

3.1字典

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

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

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

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

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

'''字典的存储结构:各个键与相应的值用:连接;每个值与下一个值之间用逗号连接;开始结束用大括号{}包围'''person3={'Name':'ting', 'Genger':'male', 'Occupation':'Researcher', 'Home Planet':'shaanxi province'}#在查看person3时,不是按照定义的顺序,字典中的数据是无序的。#使用键来访问字典中的数据。person3['Home Planet']#会显示shaanxi provincePerson3[‘Age’]=33#向字典增加一行数据,将一个对象赋值一个新键。

 

回顾vowels3.py程序:

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

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

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

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

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

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

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

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

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

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

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

  3.如何迭代处理字典?

 

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

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

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

 

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

用items迭代处理字典:

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

执行结果:

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

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

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

键必须初始化!!!

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

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

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

指令:

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

  对于使用 if ‘pear’ not in fruits:

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

  items()迭代处理字典。

  sorted()排序。

 

3.2集合(set)

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

1合并集合:union

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

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

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

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

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

2找到非交集元素:difference

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

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

 

3找到交集元素:intersection

 

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

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

简化vowels2程序:

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

3.3元组(tuple)

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

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

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

注意只有一个对象的元组

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

 

 

此内容之前是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模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295