您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

一文搞定Python数据结构tuple和set

时间:2019-07-29 16:20:16  来源:  作者:



01 如何选择合适的数据结构?为什么这很重要?

编程语言中的数据结构是用来整理和存储数据。数据结构自身内部就定义了很多方法用来处理数据,不同的数据结构拥有不能的优势,这篇文章就大概的过一遍Python中非常重要的数据结构。

首先,一定要明确一点,数据结构的选择是基于对数据和项目最终目的的整体考量。不合适的数据结构可能会导致更长的处理时间、更多的内存占用等等。

02 Python中的数据结构

Python中用途最广泛的数据结构有以下几种:

  • tuple
  • str
  • range
  • list
  • dict
  • set

我们一起来过一遍tuple和set使用方法吧!

tuple 元组

tuple这个数据结构是被小括号包围的一组数据,并且它有一个重要的属性,一旦被定义,不可以被更改

tuple元组的定义

Python基础篇 - 一文搞定Python数据结构tuple和set

图1

如图1所示,我们定义了两个变量a和b,至于区别只是b的数据后面加了一个逗号。如果不加逗号,a的 数据类型被定义成了整数型。加了逗号,Python则会默认将数据类型设置为tuple。在图2中,展示了几种常用的定义tuple的方法。

Python基础篇 - 一文搞定Python数据结构tuple和set

图2

tuple内数据的调用

Python基础篇 - 一文搞定Python数据结构tuple和set

图3

len()函数可以返回tuple数据结构中一共有多少个数据,我们注意到tuple数据结构中并不需要所有的数据格式是一样的。使用print()将tuple元组的数据个数打印出来,并且通过a[i]的形式调用每一个数据。

a[i]中的下标i是从0开始的,也就是说a中的1,2,‘逃学博士’分别对应的下标为0,1,2。

tuple数据一旦创建,无法更改

继续拿a举例,如果我们想要改变tuple a中的数据,比方说a[0],我们是不是可以这么做呢?

Python基础篇 - 一文搞定Python数据结构tuple和set

图4

我们试图将数值5赋值给a[0],但是系统报错显示tuple不支持赋值,也就是a[0]无法被修改。这也是tuple最重要的属性之一,tuple的好处就是数据安全性高。

tuple数据一旦创建,真的不能修改吗?

其实,tuple的数据无法修改也不是百分之百的。如图5

Python基础篇 - 一文搞定Python数据结构tuple和set

图6

a中的最后一个数据为list,a[2][0]则会指定为‘逃学博士’。如果对a[2][0]进行赋值,我们发现tuple 元组a的数据变了。原因在于我们无法直接赋值给a[2],因为a[2]是元组a的数据。但是,a[2]是一个list,而list的数据是可以被修改的,因此调用a[2][0]是可以直接修改list里面的内容。

集合 set

集合set是用大括号将数据包裹起来,如图7所示。

Python基础篇 - 一文搞定Python数据结构tuple和set

图7

那么,集合set最重要的属性是什么呢?集合set中是无法包含重复的数据。如图8,我们先定义一个list [1, 2, 3, 4, 1, 2, 3]。其中1, 2, 3是重复出现的。如果有一个项目需要我们去查找这个数据中一共出现的多少个数据,不包括重复的,就可以用到set集合了。

Python基础篇 - 一文搞定Python数据结构tuple和set

图8

向集合set中添加和删除数据是被允许的。添加数据使用add()函数,删除函数使用remove()函数。

Python基础篇 - 一文搞定Python数据结构tuple和set

图9

图9中,我们给集合b添加了两次数据5。但是,由于set无法拥有两个重复的数据。因此,第二次被忽略了,而且系统不会报错。

Python基础篇 - 一文搞定Python数据结构tuple和set

图10

调用remove()函数,我们第一次调用去掉了集合b中的数字5。但是第二次调用remove()系统显示报错,这是因为集合b中这时候已经没有我们要去除的5了。

总结

数据结构还有很多,集合set和元组tuple中的调用方法也还有很多。这篇文章想说的是几个要注意的比较有意思的点。谢谢大家耐心的看完。



Tags:Python 数据结构   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
概述 在深入研究数据科学和模型构建之前,Python中的数据结构是一个需要学习的关键概念 了解Python提供的不同数据结构,包括列表、元组等介绍数据结构听起来是一个非常直截了当...【详细内容】
2020-06-20  Tags: Python 数据结构  点击:(39)  评论:(0)  加入收藏
0x00:创建一键多值字典字典是Python中的一种可变容器,通常以这种形式出现:d = {key1:value1, key2:value2, key3:value3}Python没有规定字典中值的类型,所以如果想让字典中的一...【详细内容】
2019-08-13  Tags: Python 数据结构  点击:(244)  评论:(0)  加入收藏
01 如何选择合适的数据结构?为什么这很重要?编程语言中的数据结构是用来整理和存储数据。数据结构自身内部就定义了很多方法用来处理数据,不同的数据结构拥有不能的优势,这篇...【详细内容】
2019-07-29  Tags: Python 数据结构  点击:(394)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  菜鸟学python    Tags:Python4   点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  风度翩翩的Python    Tags:Python   点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  IT资料库    Tags:Python 库   点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  子冉爱python    Tags:Python   点击:(4)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  程序汪小成    Tags:Python入门   点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  编程啊青    Tags:Verilog   点击:(9)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  修道猿    Tags:Python   点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  我头秃了    Tags:python   点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  程序员小新ds    Tags:python初   点击:(5)  评论:(0)  加入收藏
Hi,大家好。我们在接口自动化测试项目中,有时候需要一些加密。今天给大伙介绍Python实现各种 加密 ,接口加解密再也不愁。目录一、项目加解密需求分析六、Python加密库PyCrypto...【详细内容】
2021-12-21  Python可乐    Tags:Python   点击:(8)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条