我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python数据结构:数据类型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python数据结构:数据类型

1.数据是什么?

Python 以及其他所有面向对象编程语言中,类都是对数据的构成(状态)以及数据 能做什么(行为)的描述。由于类的使用者只能看到数据项的状态和行为,因此类与抽象数据类 型是相似的。在面向对象编程范式中,数据项被称作对象。一个对象就是类的一个实例。

2.数据类型

2.1内建原子数据类型

Python 有两大內建数据类实现了整数类型和浮点数类型,相应的 Python 类就是 int float。标准的数学运算符,即+、-、*、/以及**(幂),可以和能够改变运算优先级的括号一起使用。其他非常有用的运算符包括取余(取模)运算符%,以及整除运算符//。注意,当两个整数相除时,其结果是一个浮点数,而整除运算符截去小数部分,只返回商的整数部分。
Python 通过 bool 类实现对表达真值非常有用的布尔数据类型。布尔对象可能的状态值是 True 或者 False,布尔运算符有 and、or 以及 not。

其实这一章最想让大家知道的变量赋值的问题:


 theSum = 0

赋值语句 theSum = 0 会创建变量 theSum,并且令其保存指向数据对象 0 的引用。Python 会先计算赋值运算符右边的表达式,然后将指向该结果数据对象的引用赋给左 边的变量名。在本例中,由于 theSum 当前指向的数据是整数类型,因此该变量类型为整型。

如果数据发生了变化怎么办,比如:


theSum=True


这个时候变量的类型也会变成布尔类型。赋值语句改变了变量的引用,这体现了 Python 的动态特性。同样的变量 可以指向许多不同类型的数据。

2.2 内建集合数据类型

除了数值类和布尔类,python还有众多强大的内建集合类。我们将它们分为两类:

  • 有序集合:列表、字符串、元祖
  • 无需集合:集合、字典

说明一下,有序集合中有些方法是可以相互通用的,因为它们的性质很相似。无需集合也是一样,但是它们都是属于数据集合,会有一些大家公共的方法。

3.集合数据类型的方法

这一章节主要讲述列表、字符串、元祖、集合、字典各自的内置函数。
在这之前先介绍一下range函数。
range 是一个常见的 Python 函数,我们常把它与列表放在一起讨论。range 会生成一个代 表值序列的范围对象。使用 list 函数,能够以列表形式看到范围对象的值。
rang的一些用法。


range(10)#默认从0开始
#结果range(0, 10)
list(range(10))
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(5,10)
#结果range(5, 10)
list(range(5,10))
#[5, 6, 7, 8, 9]
list(range(5,10,2))
#[5, 7, 9]
list(range(10,1,-1))
#[10, 9, 8, 7, 6, 5, 4, 3, 2]

3.1 列表

列表是零个或多个指向 Python 数据对象的引用的有序集合,通过在方括号内以逗号分隔的一 系列值来表达。空列表就是[]。列表是异构的,这意味着其指向的数据对象不需要都是同一个类, 并且这一集合可以被赋值给一个变量。

举例:


#列表
mylist=[1,3,True,6.5]
#结果:[1, 3, True, 6.5]
mylist[0]
#结果 1
mylist[2]+mylist[1]
#结果 4
mylist[1:3]#只显示index为1,2
#结果 [3, True]
for i in mylist:
    print(i)
#结果 

True
6.5
mylist.append(9)
#[1, 3, True, 6.5, 9]
mylist.insert(1,2)#在index为1的位置插入2
#[1, 2, 3, True, 6.5, 9]
mylist.pop()#删除并返回最后一个数
# 结果 9
mylist.pop(1)#删除并返回index为1的数
#结果 2
mylist.sort()#排序
#[1, True, 3, 6.5]
mylist.reverse()#反转数组
#[6.5, 3, True, 1]
del mylist[1]#删除index为1的元素
mylist.index(1)# 返回元素为1的元素下标
mylist.insert(1,9)#在index位置插入元素9
mylist.count(9)#返回9在数组中出现的次数
mylist.remove(9)#移除元素9

3.2 字符串

字符串是零个或多个字母、数字和其他符号的有序集合。这些字母、数字和其他符号被称为 字符。常量字符串值通过引号(单引号或者双引号均可)与标识符进行区分。

举例:


myname="aaron"
#结果 aaron
myname.upper()#转化大写
#结果 'AARON'
myname.center(10)#填充空格
#结果为'  aaron   '
myname.find("r")
#结果为 2
myname.split("r")#分割子串,如果没有提供分隔字符,那么 split 方法将会寻找如制表符、换行符和空格等空白字符。
#结果为 ['aa', 'on']

总结:列表和字符串的主要区别在于,列表能够被修改,字符串则不能。列表的这一特性被称为可修改性。列表具有可修改性,字符串则不具有。例如,可以通过使用下标和赋值操作来修改列表中的一个元素,但是字符串不允许这一改动。

看一下:

3.3 元祖

元组与列表非常相似。它们的区别在于,元组和字符串一样是 不可修改的。元组通常写成由括号包含并且以逗号分隔的一系列值。与序列一样,元组允许之前 描述的任一操作。

举例:


mytuple=(2,True,4.96)
#(2, True, 4.96)
len(mytuple)
#结果 3
mytuple[2]
#结果 4.96

注意:元祖不可修改

3.4 集合

集合是由零个或多个不可修改的 Python 数据对象组成的无序集合。集不允许重复元素, 并且写成由花括号包含、以逗号分隔的一系列值。

举例:


myset={3,6,"dog","cat",False}
#{3, 6, False, 'cat', 'dog'}
len(myset)
#结果 5
False in myset #false是否在集合中
#结果 true
'pink' in myset
#结果 false

举例:


myset
#{3, 6, False, 'cat', 'dog'}
yourset={99,3,100}
#{3, 99, 100}
myset.union(yourset)#取并级
#{100, 3, 6, 99, False, 'cat', 'dog'}
myset | yourset#取并集
#{100, 3, 6, 99, False, 'cat', 'dog'}
myset.intersection(yourset)#取交集
#{3}
myset.difference(yourset)#取差集
#{6, False, 'cat', 'dog'}
myset-yourset#取差集
#{6, False, 'cat', 'dog'}
{99,100}.issubset(yourset)#判断是否为子集
#True
{99,100}<=yourset#判断是否为子集
#True
myset.add(101)
#{101, 3, 6, False, 'cat', 'dog'}
myset.remove(101)#移除元素
#{3, 6, False, 'cat', 'dog'}
myset.pop()#随机移除元素(这里移除了false)
#False
myset.clear()#清空集合
#set()

3.5 字典

字典是无序结构,由相关的元素对构成,其中每对元素都由一个键和一个值组成。这种键–值对通常写成键:值的形式。字典由花括号包含的一系列以逗号分隔的键–值对表达。

举例:


mydict={"name":"aaron","sex":"man"}
#{'name': 'aaron', 'sex': 'man'}
mydict["name"]
#'aaron'
mydict["old"]=18#添加一对key- value
#{'name': 'aaron', 'sex': 'man', 'old': 18}
len(mydict)
#3
mydict.get("sex")
#'man'
mydict.get("class","不存在")#如果前面的不存在,就返回第二个
#'不存在'

参考资料:

  • 《python数据结构与算法》
  • 《大话数据结构》

到此这篇关于python数据结构:数据类型的文章就介绍到这了,更多相关python数据类型内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python数据结构:数据类型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python数据类型总结

第1章 数据类型:1.1可变or不可变类型(变量值):变量的三个特点:id/type/value可变类型:值改变,但id不变,证明就是在改变原值不可变类型:值改变,id也跟着变了,证明申请了新的内存空间来存新值,根本没有改变量值Ø  证明浮
2023-01-31

redis数据库使用的数据结构类型

redis 中共有 9 种数据结构类型:键值对:储存单个键值对字符串:存储文本、数字或二进制数据列表:存储有序键值对集合:存储不重复的值有序集合:存储带有分值的元素,按分值排序哈希表:存储映射到值的键值对地理空间:存储地理位置和形状超日志:
redis数据库使用的数据结构类型
2024-04-19

PHP 数据类型和结构解析

php 数据类型包括标量类型(整数、浮点数、字符串、布尔值)和复合数据类型(数组、对象)。 数据可以利用 settype()、intval()、floatval()、strval() 等函数进行转换。 php 提供了丰富的实战案例,如计算数
PHP 数据类型和结构解析
2024-05-03

redis数据类型及结构特性

redis支持多种数据类型,每种类型具有独特结构:字符串:字节数组,可追加、修改和获取范围数据。列表:有序字节数组序列,可添加/弹出元素,获取/修改索引元素。哈希:键值对集合,可设置/获取/删除键值对,获取所有键/值。集合:无序、唯一元素集
redis数据类型及结构特性
2024-04-19

redis各种数据类型底层数据存储结构

redis 的数据类型使用不同的底层存储结构:字符串:简单动态字符串(sds)哈希:哈希表,使用链表或跳跃表处理哈希碰撞列表:双向链表集合:哈希表或整数集合,使用布隆过滤器有序集合:跳跃表或字典地理空间索引:跳跃表或 r 树Redis 数据
redis各种数据类型底层数据存储结构
2024-04-19

python数据结构

一:数据结构  数据结构可以认为他们是用来处理一些数据的或者说是存储数据。  对于数据结构的介绍会关系到类和对象的定义,此处对这两个定义加以描述。  何为类:说道类首先我们能够想到类型,在数据结构中类型有哪些常用的类型有int整型,floa
2023-01-31

python 数据结构

list(列表)创建list方式1  : 直接创建  theList = [1,2,3,4,5,6,7,8,9]                    ==> [1,2,3,4,5,6,7,8,9]方式2 : 使用内建方法list(), 
2023-01-31

讲讲Redis各个数据类型的底层数据结构

通过以上 Redis 底层数据结构可以看出,其设计核心总是在节约内内存,提高访问速度。所以Redis快,这小巧妙的底层设计也是功不可没。

redis5种数据类型对应底层结构

redis 提供五种数据类型,每种类型有其底层数据结构:字符串:sds(二进制安全、空间高效)哈希:哈希表(键值对存储)列表:双向链表(有序数据集合)集合:整数集合或哈希表(不重复元素)有序集合:跳跃表(按分数排序和范围查找)Redis 五
redis5种数据类型对应底层结构
2024-04-19

redis的五种数据类型底层数据结构是什么

redis 提供了五种数据类型,每种类型对应特定的底层数据结构:字符串:简单动态字符串(sds),优化二进制安全字符串存储。哈希:哈希表(dict),快速键值对存储。列表:双向链表或压缩列表(zip list),支持顺序访问和插入/删除操作
redis的五种数据类型底层数据结构是什么
2024-04-08

python数据类型

name=input("请输入用户名:") 无论输入何种类型的数据,input都会将他存成字符串格式python2 中 是 raw_input为什么要有程序交互?让计算机能够模拟人,让计算机去接受用户的输入信息两种执行python程序的方式
2023-01-30

Python数据结构__树

树是一种非常重要的数据结构,它是非线性结构,它不是Python内置的数据结构;树:  1.非线性结构,每个元素可以有多个前驱和后继;  2.树是n(n>=0)个元素的集合    n=0时,称为空树;    树只有一个特殊的没有前驱的元素,称
2023-01-31

[Python]数据结构--Bitmap

‘Festinatione facit vastum’Bitmap简介Bitmap的实现和使用Bitmap简介bitmap是很常用的数据结构,比如用于Bloom Filter中、用于无重复整数的排序等等。bitmap通常基于数组来实现,数组
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录