栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基本数据结构

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基本数据结构

基本数据类型「number数字类型:整数int、浮点数float、bool布尔类型、complex复数(用j表示);字符串str;列表;元组;字典」

type()方法判断数据类型

>> type(1) #1为整数型

>>> type(1.0) #1.0为浮点数型

>>> type(1j) #1j为复数型


>>> type(True) #数值为布尔类型

>>> type(False)


>>> type('1') #'1'为字符串类型

>>> type([1]) #[1]为列表类型

>>> type((1,)) #(1,)为元组类型


>>> type((1)) #注意(1)表示运算

>>> type({'a':1}) #{'a':1}为字典类型

序列:字符串、列表、元组「每个元素会被分配序号,即偏移量,从0开始」

  • 字符串
#字符串的拼接
>>> 'hello'+'world'
'helloworld'
>>>'hello'*3
'hellohellohello'

#获取字符串中的字符
>>>'hello world'[5] #获取字符串中的第5个字符「首个字符偏移量为0,即从0取起」
' '
>>> 'hello world'[-5] #获取字符串中的倒数第5个字符
'w'

>>> 'hello world'[0:5] #获取字符串中前5个字符,切片原则「左取右不取」
'hello'
>>> 'hello world'[0:-5] #获取字符串中从头至倒数第五的字符段,切片原则「左取右不取」
'hello '
>>> 'hello world'[:-5] #获取字符串中从头至倒数第五的字符段,切片原则「左取右不取」
'hello '

>>> 'hello world'[5:] #获取字符串中从第5个字符段开始后的字符,切片原则「左取右不取」
' world'
>>> 'hello world'[-5:] #获取字符串中从倒数第5个字符段开始后的字符,切片原则「左取右不取」
'world'

#判断字符是否在字符串中
>>> 'w' in 'world'
True
>>> 'e' in 'world'
False
>>> 'e' not in 'world'
True
  • 列表
#获取列表中的元素
>>> ['学徒','读书','行路','做事'][3] #获取列表第3个元素「首个元素偏移量为0,即从0取起」
'做事'
>>> ['学徒','读书','行路','做事'][:2] #获取列表中前2个元素列表,切片原则「左取右不取」,切片结果为列表
['学徒', '读书']
>>> ['学徒','读书','行路','做事'][-1:] #获取列表中倒数第1个元素列表,切片原则「左取右不取」,切片结果为列表
['做事']

#列表的拼接
>>> ['学徒','读书','行路','做事']+['不着急','不害怕','不要脸']
['学徒', '读书', '行路', '做事', '不着急', '不害怕', '不要脸']
>>> ['不着急','不害怕','不要脸']*3
['不着急', '不害怕', '不要脸', '不着急', '不害怕', '不要脸', '不着急', '不害怕', '不要脸']

#判断元素是否在列表中
>>> '不着急' in ['不着急','不害怕','不要脸']
True
>>> '勇敢' in ['不着急','不害怕','不要脸']
False
>>> '勇敢' not in ['不着急','不害怕','不要脸']
True

>>> [1] #对比元组,表示一个元素的元组时需要加,「如(1,)」
[1]
>>> type([1]) #type()判断数据类型,[1]为列表类型

>>> [] #空列表
[]
>>> type([])


>>>len( ['学徒','读书','行路','做事']) #判断列表的长度
4
>>> max([0,2,4,1,3,5]) #判断列表中元素的最大值
5
>>> min([0,2,4,1,3,5]) #判断列表中元素的最小值
0
#字符串会按字母表的顺序取最大、最小值
>>> max('hello world')
'w'
>>> min('hello world') #字符串中存在空格
' '
>>> min('helloworld')
'd'
#ASCII码表
>>> ord('w')
119
>>> ord(' ')
32
>>> ord('d')
100
  • 元组
#获取元组中的元素
>>> ('学徒','读书','行路','做事')[3] #获取元组第3个元素「首个元素偏移量为0,即从0取起」
'做事'
>>>('学徒','读书','行路','做事')[:2] #获取元组中前2个元素元组,切片原则「左取右不取」,切片结果为元组
('学徒', '读书')
>>> ('学徒','读书','行路','做事')[-1:] #获取元组中倒数第1个元素元组,切片原则「左取右不取」,切片结果为元组
('做事')

#列表的切片[起始位置:终止位置:步长]
a=[1,2,3,4,5,6,7,8]
b=a[0:len(a):2]
print(b)
#输出结果:[1, 3, 5, 7]

#元组的拼接
>>> ('学徒','读书','行路','做事')+('不着急','不害怕','不要脸')
('学徒', '读书', '行路', '做事', '不着急', '不害怕', '不要脸')
>>> ('不着急','不害怕','不要脸')*3
('不着急', '不害怕', '不要脸', '不着急', '不害怕', '不要脸', '不着急', '不害怕', '不要脸')

#判断元素是否在元组中
>>> '不着急' in ('不着急','不害怕','不要脸')
True
>>> '勇敢' in ('不着急','不害怕','不要脸')
False
>>> '勇敢' not in ('不着急','不害怕','不要脸')
True

#表示一个元素的元组
>>> (1,) #需要加上,
(1,)
>>> type((1,))

>>> (1) #表示运算
1
>>> type((1))

>>> () #表示空的元组
()
>>> type(())
  • 集合

 

>>> {0,1,2,3,4,5,4,3,2,1}
{0, 1, 2, 3, 4, 5} #集合无序不可索引且不重复
>>> type({0,1,2,3,4,5})

>>> len({0,1,2,3,4,5})
6
>>> 1 in {0,1,2,3,4,5}
True
>>> 1 not in {0,1,2,3,4,5}
False

#求两个集合的差集-
>>> {0,1,2,3,4,5}-{3,4}
{0, 1, 2, 5}
#求两个集合的交集&
>>> {0,1,2,3,4,5}&{3,4}
{3, 4}
#求两个集合的并集|
>>> {0,1,2,3,4,5}|{3,4,7,8}
{0, 1, 2, 3, 4, 5, 7, 8}

#定义一个空集
>>> set()
set()
>>> type(set())

>>> len(set())
0
>>> type({}) #一个空的字典
  • 字典
#{key1:value1,key2:value2,key3:value3},key的赋值为不可变数据类型,如:int,str,tuple等,value可以为任何数据类型
>>>{'Python':'数据分析','English':'文献阅读','Write':'分析报告','Office':'办公效率'}
{'Python': '数据分析', 'English': '文献阅读', 'Write': '分析报告', 'Office': '办公效率'}
>>> type( {'Python':'数据分析','English':'文献阅读','Write':'分析报告','Office':'办公效率'})

 

 

补充:转义字符、进制转换

转义字符

转义字符:、n「换行符」

Python中每行最多显示79个字符

IDLE中写入'Let's go',会报错,可以下面两种方式处理:

#单引号变成双引号或三引号
"Let's go"

#或者插入转义字符,避免单引号之间的冲突「引号都是要成对出现的,否则会报错」
'Let's go'

Windows系统里,常用来表示绝对路径,/来表示相对路径

由于在Python中是转义字符,所以为了避免冲突,Windows的绝对路径可以写成以下两种格式

#将''替换成'\'
open('C:\Users\Ted\Desktop\test\abc.txt')

#在路径前加上字母r或者R,表明字符串为原始字符串
open(r'C:UsersTedDesktoptestabc.txt')

进制转换

0b:二进制

0o:八进制

0x:十六进制

#二进制转十进制/或使用int()方法进行十进制的转换
>>>0b10
2
>>>0b11
3
#八进制转十进制
>>>0o10
8
>>>0o11
9
#十六进制转十进制
>>>0x10
16
>>>0x1F
31
#十进制
>>>10
10
>>>11
11

运用bin()方法转换成二进制

#十进制转二进制
>>>bin(10)
'0b1010'
#八进制转二进制
>>> bin(0o10)
'0b1000'
#十六进制转二进制
>>> bin(0x10)
'0b10000'

同样,

运用oct()方法转换成八进制

运用hex()方法转换成十六进制

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号