社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

总结下Python中的常用数据结构

Crossin的编程教室 • 7 月前 • 171 次点击  

作者:成了精的柴

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

python基本数据类型

  • 数字类型

    • 具体运算中数据的类型

    • 不同情况下的布尔类型

  • 各进制的表示与转换

    • 进制的表示

    • 进制的转换

  • 序列

    • str字符串

    • 列表(list)

    • 元组(tuple)

    • 序列总结

  • 集合(set)

  • 字典(dict)

  • 转义字符

  • 知识点总结

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


如果你还没有安装,可以参考本号Python入门教程中的「安装章节。

数字类型

  • 整数:int
  • 浮点数:float

python中的数据类型 仅有int和float两种(没有如short,l ong, 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中整除会忽略小数点后数字,向下取整

布尔类型:boolpython中,布尔类型也是数字的一种

不同情况下的布尔类型

#  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([12345]))
print(type(["hello"1False]))
print(type([[12], [34], [TrueFalse]]))  # 嵌套列表

读取列表中的元素

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

列表的运算

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

元组(tuple)

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

对元组的基本操作

#  元组存储是数据类型
print(type((12345)))
print(type((12"hello", [123], True)))
#  获取指定位置元素
print((1234)[2])
#  获取指定区域元素
print((1234)[1:])
print(type((1234)[1:]))  # 返回类型为tuple
#  元组的运算
print((1234)+(56))
print((1234)*2)

序列总结

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

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

集合(set)

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

集合的运算

  • 集合的运算方法和数学中集合运算方法相同
#  求两个集合的差集
print({123456} - {23})  # '-'为求差集的符号
#  求两个集合的交集
print({123456} & {23})  # '&'为求交集的符号
#  求两个集合的并集
print({1 23456} | {567})  # '-'为求差集的符号
  • 空集合的定义:
>>> set()

字典(dict)

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

转义字符

知识点总结



Crossin的新书《码上行动:用ChatGPT学会Python编程》已经上市了。本书以ChatGPT为辅助,系统全面地讲解了如何掌握Python编程,适合Python零基础入门的读者学习。【点此查看详细介绍】
购买后可加入读者交流群,Crossin为你开启陪读模式,解答你在阅读本书时的一切疑问。
Crossin的其他书籍:


添加微信 crossin123 ,加入编程教室共同学习~
感谢转发点赞的各位~
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/176321
 
171 次点击