搞定Python的几个常用数据结构!

作者:成了精的柴

来源:https://blog.csdn.net/qq_53421929/

python基本数据类型

  • 数字类型

    • 具体运算中数据的类型

    • 不同情况下的布尔类型

  • 各进制的表示与转换

    • 进制的表示

    • 进制的转换

  • 序列

    • str字符串

    • 列表(list)

    • 元组(tuple)

    • 序列总结

  • 集合(set)

  • 字典(dict)

  • 转义字符

  • 知识点总结

首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

如果你还没有安装,可以参考以下文章:

如果仅用Python来处理数据、爬虫、数据分析或者自动化脚本、机器学习等,建议使用Python基础环境+jupyter即可,安装使用参考Windows/Mac 安装、使用Python环境+jupyter notebook

如果想利用Python进行web项目开发等,建议使用Python基础环境+Pycharm,安装使用参考:Windows下安装、使用Pycharm教程,这下全了 和 Mac下玩转Python-安装&使用Python/PyCharm 。

数字类型

  • 整数:int
  • 浮点数:float

python中的数据类型==仅有int和float两种==(没有如short,long,double之分)

具体运算中数据的类型

这里查看各种情况的数据类型运用到了python中的==type函数==

print(type(1))
print(type(-1))
print(type(1.1111))
print(type(1+1))
print(type(1+1.0))  # 由于1.0为float类型,python将1+1.0自动转化为float类型

print(type(1*1))
print(type(1*1.0))
#  python中的除法使用'/'结果为float类型,使用'//'为int类型
print(type(2/2))
print(type(2//2))
print(type(1//2))  # 与其他语言类似python中整除会忽略小数点后数字

运行结果:

==小结:==

  • 1、只要式子中出现了浮点型数字(小数)最终整体类型都会变成float类型
  • 2、使用'/'结果为float类型,使用'//'为int类型(第一点优先级最高)
  • 3python中整除会忽略小数点后数字,向下取整

布尔类型:bool ==python中,布尔类型也是数字的一种==

不同情况下的布尔类型

#  bool类型包括 True和 False两种print(type(True))print(type(False))#  将bool类型转换为int类型print(int(True))print(int(False))#  python中0为假,非0为真(无论进制)print(bool(1))print(bool(0))print(bool(2.2))print(bool(0b10))#  对字符串取布尔值print(bool('abc'))print(bool(''))#  对列表取布尔值print(bool([1,2,3]))print(bool([]))

运行结果:

==小结==

  • True和False开头需大写
  • 数字中:0为False,其他均为True;在其他类型中:空为False,非空为True

各进制的表示与转换

进制的表示

  • 二进制:0b
  • 八进制:0o
  • 十六进制:0x
# 二进制标识符为 0b,打印输出其代表的十进制数
print(0b10)
print(0b11)
# 八进制标识符为 0o,打印输出其代表的十进制数
print(0o10)
print(0o11)
# 十六进制标识符为 0x,打印输出其代表的十进制数
print(0x10)
print(0x1F)
# 输入数字默认为十进制
print(10)

结果:

==小结==:需牢记各种进制的表示形式

进制的转换

  • 转换为二进制(binary):bin()
  • 转换为八进制(octal):oct()
  • 转换为十进制:int()
  • 转换为十六进制(hexadecimal):hex()
# 转换为二进制print(bin(10))print(bin(0o7))print(bin(0xE))# 转换为八进制print(oct(0b111))print(oct(0x777))# 转换为十进制print(int(0b111))print(int(0o777))# 转换为十六进制print(hex(888))print(hex(0b111))print(hex(0o7777))

运行结果:

序列

str字符串

  • 字符串类型表示为单/双引号内的内容,由于英文语句中可能出现单引号的情况(Let's go),此时可使用双引号扩起字符串中的内容
print('Let't go')
print('Let't go')  #  其中此语句会报错

运行结果:

字符串的运算

  • 两字符串间可相加拼接成一个字符串
  • 字符串乘上一个数n,得到n个该字符串
#  字符串的运算print('he'+'llo')print('hello'*3)

结果

获取单个字符

  • 在str后添加[i](i代表想要获取str中的位置下标),可获取指定位置字符
#  输出指定位置的字符
print('hello world'[0])
print('hello world'[1])
print('hello world'[2])
print('hello world'[-1])
print('hello world'[-2])

结果

其中==i可为负数==,代表获取倒数第i位的数字

获取指定区间内的字符串

  • 使用':’对起始位置和末尾位置进行连接,如:[m:n+1]表示截取str中下标为==m~n+1==的字符串进行截取(==n+1位置取开区间==) [m:]则表示由下标为m的位置一直截取到末尾
#  截取指定区域的字符串print('hello world'[0:5])print('hello world'[-5:11])print('hello world'[-5:])

列表(list)

列表存储的数据类型

  • 列表中可存储任意元素
#  列表可存储的类型
print(type([1, 2, 3, 4, 5]))
print(type(['hello', 1, False]))
print(type([[1, 2], [3, 4], [True, False]]))  # 嵌套列表

读取列表中的元素

  • 读取列表中的元素方法与str相同
#  读取列表中的元素print(['hello', 'world'][0:])  # 和str类型的读取方式相同

列表的运算

  • 与str的运算相似
#  列表的运算(和str的运算相似)
print(['hello', 'world'] + ['hello', 'world'])
print(['hello', 'world'] * 3)

元组(tuple)

  • 元组的基本使用方法,存储数据的规则和列表相同,它们的区别主要在以下几点:
  1. 列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
  2. 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
  3. 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。

对元组的基本操作

#  元组存储是数据类型print(type((1, 2, 3, 4, 5)))print(type((1, 2, 'hello', [1, 2, 3], True)))#  获取指定位置元素print((1, 2, 3, 4)[2])#  获取指定区域元素print((1, 2, 3, 4)[1:])print(type((1, 2, 3, 4)[1:]))  # 返回类型为tuple#  元组的运算print((1, 2, 3, 4)+(5, 6))print((1, 2, 3, 4)*2)

序列总结

  • 提取指定位置元素方法:序列后面紧跟[i]
  • 提取指定区间元素方法:序列后面紧跟[m : n](m,n为区间下标,n为开区间)

==序列这种类型对其中的元素操作方法完全相同==

集合(set)

  • 集合中的数据是==无序的==,故==不能用下标==进行访问
  • 集合中的元素==不重复==

集合的运算

  • 集合的运算方法和数学中集合运算方法相同
#  求两个集合的差集
print({1, 2, 3, 4, 5, 6} - {2, 3})  # '-'为求差集的符号
#  求两个集合的交集
print({1, 2, 3, 4, 5, 6} & {2, 3})  # '&'为求交集的符号
#  求两个集合的并集
print({1, 2, 3, 4, 5, 6} | {5, 6, 7})  # '-'为求差集的符号
  • 空集合的定义:
>>> set()

字典(dict)

  • 字典和集合定义的区别:dict:{key1:value1,key2:value2.....} set:{value1,value2....}
  • 字典中的键==不能重复也不可变==(如list列表就是可变类型)
  • 空字典用{}表示
#  字典类型的输入格式
print(type({1: 1, 2: 2, 3: 3}))
#  字典的使用
print({1:'Hello', 2:'world'}[2])

转义字符

知识点总结

--End--

(0)

相关推荐

  • 关于Python的基础语法

    Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯,我们先来了解一些Python中最基本的内容. 变量 Python ...

  • 关于Python中的数据类型和变量

    要想让程序完成某项任务,最基本的是了解如何使用程序语言自带的数据类型和变量,然后通过运算.比较.控制语句等等来达到我们的目的.现在,我们将学习Python中常见的数据类型,以及变量是什么,以及如何使用 ...

  • python基础语法学习笔记

    学习来源:https://www.bilibili.com/video/BV1Vt411z7Kg?p=11 一.变量是什么? 变量来源于数学,是计算机语言中,能储存计算结果,或能表示值抽象的概念.变量 ...

  • 第3天:Python 变量与数据类型

    这篇文章我们学习 Python 变量与数据类型 一.变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问.在 Python 中 变量命名规定,必须是大小写英文, ...

  • Python知识点(史上最全)

    python简介 Python是一种解释型语言 Python使用缩进对齐组织代码执行,所以没有缩进的代码,都会在载入时自动执行 数据类型:整形 int 无限大 浮点型 float 小数 复数 comp ...

  • 送你一个超级工具箱,帮你轻松搞定系统安装与维护及常用软件安装

    送你一个超级工具箱,帮你轻松搞定系统安装与维护及常用软件安装

  • 弃繁就简!一行代码搞定 Python 日志!

    来源:Python 技术「ID: pythonall」 写了这么多年的 Python ,我一直都是使用 Python 自带的 logging 模块来记录日志,每次需要写一些配置将日志输出到不同的位置, ...

  • 在线搞定不同数据分析,我常用的8网站绝对可以帮到你

    分享开工好物清单,减压抗压我有妙招!3月5日-4月8日参与#打工人幸福指南#征稿,成功发布至社区即可获得50金币奖励!分享你的桌面好物推荐.提升工作效率清单.上下班通勤神器,一起冲击1000元大奖!& ...

  • 一文教你搞定Python中的异常处理概念!梳理与总结

    在本文中,我们将尝试使用python错误处理,except和finally关键字用于处理文件和数据管理. 通常,错误在这三个类别中进行了描述,如下所示: 编译时错误:当我们执行一些语法错误(例如缺少某 ...

  • 三天搞定Python基础功,Day 1基础篇

    Python现在是越来越热了,Hedge fund在用,一些银行也在用. 因为我恰巧要给本科生上一个introduction的课程,因此把我自己做的课件也跟大家分享一下.为无任何基础的人设计,带你串一 ...

  • 三天搞定Python基本功,Day 2科学计算篇

    很多朋友给我留言说为什么没有更新了.实在抱歉,这几天确实有点焦头烂额,晚上回家很累就直接睡了.终于今天忙完,所以今天更新第二篇. 这些课件我参考了很多的资料,有网上资源,也有一些教材,然后自己整理出来 ...

  • 三天搞定Python基础功,Day 3统计入门篇

    第三篇主要是讲一些偏统计的Library使用,而且因为我本身授课对象是低年级的本科生,所以也自然没有涉及很深的东西.这份slides是个Pandas.Statsmodels等library入门的好材料 ...

  • 13天搞定Python分布爬虫【免费视频教程】

    TIOBE 更新了 2021 年 10 月份编程语言指数排行榜. 榜单中共对 100 种编程语言进行了评级排名,其中 Python 成为 "20 多年来的新语言霸主",以 11.2 ...

  • 用Python轻松搞定Excel中的20个常用操作

    Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据的读取.生成.计算.修改.统计.抽样.查找.可视化.存储等数据 ...