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

数字类型 具体运算中数据的类型 不同情况下的布尔类型 各进制的表示与转换 进制的表示 进制的转换 序列 str字符串 列表(list) 元组(tuple) 序列总结 集合(set) 字典(dict) 转义字符 知识点总结

数字类型
整数:int 浮点数:float
python中的数据类型==仅有int和float两种==(没有如short,long,double之分)
具体运算中数据的类型
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类型包括?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])

转义字符


分享
点收藏
点点赞
点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 打好关键核心技术攻坚战 7904608
- 2 “最快女护士”被医院警告处分 7809292
- 3 外交官辟谣:这是在中国 不是日本 7712217
- 4 持续巩固增强经济回升向好态势 7617199
- 5 售价约20元 水银温度计平替长这样 7523885
- 6 广东汕头火灾事故遇难人数升至12人 7425975
- 7 71岁成龙回应“龙叔老了” 7328549
- 8 生鲜灯不能两年都关不了 7232947
- 9 为何要全面禁产水银体温计 7141575
- 10 我国成功发射遥感四十七号卫星 7040983





![林晚儿拍照两部曲 剪刀手and薅头发顺带张嘴 再见了 [微笑] ](https://imgs.knowsafe.com:8087/img/aideep/2021/12/12/c59381b66c10018a1b4c3c9a6644cb1c.jpg?w=250)





AI100
