前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一定要知道的Python内置数据结构

一定要知道的Python内置数据结构

作者头像
SuperFeng
发布2019-09-26 16:21:13
1.1K0
发布2019-09-26 16:21:13
举报
文章被收录于专栏:SuperFeng

我喜欢 Python 的原因之一是因为它简单,短短几行代码就可以做很多事情。Python 内置了很强大的数据结构,我们可以直接用,不必像其他语言一样先构造数据结构再使用。Python 内置了四种数据结构:列表元组字典集合。只要掌握这四种内置数据结构,基本上就可以解决 80% 需要数据结构的问题了。

在 Python 中,万物皆对象,因此存储在数据结构中的数据全部都可以按照对象来看待。

这四种内置的数据结构按照存储的对象有序和无序可以分成两大类,这里说的有序是按照我们输入的顺序存储。让我们来认识一下这四种数据结构吧。

01

列表(有序)

列表有点类似于 C 语言中的数组,但是相比较数组来说,它里面的对象可以动态地进行添加和删除。

语法:

以中括号为标志:[ ]

创建一个列表

代码语言:javascript
复制
letters = ['h', 'e', 'l', 'l', 'o']
print(letters)
代码语言:javascript
复制
['h', 'e', 'l', 'l', 'o']

常用的一些方法:

append()

在列表结尾添加对象

参数:对象值

remove()

从列表中删除指定元素的第一次出现

参数:对象值

pop()

从列表指定索引值位置删除并返回一个对象。

缺省:索引值为列表最后位置

参数:索引值

extend()

将两个列表合并

参数:一个列表对象

insert()

将一个对象插入到现有列表中指定索引值前

参数:索引值 + 对象值

copy()

创建一个列表副本

02

元组(有序)

可以把元组看做一个不可变的列表,一旦被初始化,就不可以再修改元组中的对象。

语法:

以小括号作为标志:( )

创建一个元组

代码语言:javascript
复制
letters = ('h', 'e', 'l', 'l', 'o')
print(letters)
代码语言:javascript
复制
('h', 'e', 'l', 'l', 'o')

03

字典(无序)

在字典中存储的是一个键值对序列。

语法:

以大括号作为标记:{键: 值}

创建一个字典,统计 hello 中各字母出现的次数

代码语言:javascript
复制
dic = {'h': 1, 'e': 1, 'l': 2, 'o': 1}
print(dic)
代码语言:javascript
复制
{'h': 1, 'e': 1, 'l': 2, 'o': 1}

访问对象:

使用键来访问字典中的对象:dic[键] -> 返回对应的值

代码语言:javascript
复制
print(dic['h'])
代码语言:javascript
复制
1

添加对象:

dic[键] = 值

代码语言:javascript
复制
dic['w'] = 0
print(dic)
代码语言:javascript
复制
{'h': 1, 'e': 1, 'l': 2, 'o': 1, 'w': 0}

04

集合(无序)

集合的一大特点就是存储的对象不允许重复。

语法:

以大括号作为标记:{ }

创建一个集合

代码语言:javascript
复制
letters = {'h', 'e', 'l', 'o'}
print(letters)
代码语言:javascript
复制
{'e', 'h', 'o', 'l'}

这里是不是有点熟悉呢?字典也是以大括号作为标记,但是字典里面的对象都是以键值对形式存在。

创建集合:

方法一:就像上面一样,以大括号形式创建集合:{ }

方法二:set() 函数,传入任意序列,(比如一个字符串)返回一个集合

代码语言:javascript
复制
print(set('hello'))
代码语言:javascript
复制
{'e', 'h', 'o', 'l'}

到目前为止,只是给大家简单介绍了四种内置的数据结构,如果想要对其进行更深一步的了解,可以查阅官方文档(没有什么是比查官方文档更清楚的了,想要学好 Python,一定要多多查阅官方文档哦)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SuperFeng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档