搞定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)
元组的基本使用方法,存储数据的规则和列表相同,它们的区别主要在以下几点:
列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。 元组缓存于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--