Python 数据类型及操作方法_第1页
Python 数据类型及操作方法_第2页
Python 数据类型及操作方法_第3页
Python 数据类型及操作方法_第4页
Python 数据类型及操作方法_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python数据类型及操作方法

目录

1.整数、浮点数数据处理函数.....................................................1

2.字符串........................................................................2

3.复数类型.....................................................................6

赋值运算....................................................................7

4.组合数据类型.................................................................8

集合数据类型................................................................8

列表........................................................................10

元组........................................................................12

字典........................................................................13

字典列表嵌套...............................................................16

Python语言支持多种数据类型,最简单的包括数字类型、字符串类型,略微复杂的包括元

组类型、集合类型、列表类型、字典类型等。

Python语言提供3种数字类型:整数类型、浮点数类型和复数类型,分别对应数学中的整

数、实数和复数。

数据类型转换函数

函数描述

int(x)将X转换为整数,X可以是浮点数或字符串

float(x)将X转换为浮点数,X可以是整数或字符串

str(x)将X转换为字符串,X可以是整数或浮点数

L整数、浮点数数据处理函数

Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关

函数描述

abs(x)X的绝对值

divmod(x,y)(x//y,x%y),输出为二元组形式(也称为元组类型)

pow(x,y[,z])(x**y)%z,[..]表示该参数可以省略,即:pow(x,y),它与x**y相同

round(x[,ndigits])对x四舍五入,保留ndigits位小数。round(x)返回四舍五入的整数值

max(xl,x2,xn)xl,x2,…,xn的最大值,n没有限定

min(xl,x2,xn)xl,x2,…,xn的最小值,n没有限定

2.字符串

根据字符串的内容多少分为单行字符串和多行字符串。

单行字符串可以由一对单引号(')或双引号(")作为边界来表示,单引号和双引号作用相同。

多行字符串可以由一对三单引号(’“)或三双引号(“)作为边界来表示,两者作用相同。

例:

#多行字符串

name3="'dfafag

fagfdgd

asdgag'"

Python语言中,字符串是用两个双引号”"或者单引号''括起来的一个或

多个字符。

,Python字符串的两种序号体系

反向递减序号-1。-9-8-7-6-5-4-3-2-1

刘酒|当|歌|,1人|生|几|何|?

正向递增序号0123456789

可以采用[N:M]格式获取字符串的子串,这个操作被形象地称为切片。[N:M]

获取字符串中从N到M(但不包含M)间连续的子字符串。

补充:len(题数获取字符串的长度,一个中文字符和西文字符的长度都记为10

字符串切片

[x:y:z]

表示截取的子字符是从符串x开始,一直到y,其中步长为z,z为正表示正

向索引,z为负数表示从反向索引。

name3='abcdefghij'

print(name3[2:8:2])>>ceg

print(name3[::-l])#逆向打印»jihgfedcba

字符串格式化

'模块字符串'.format(变量1,变量2,…)

python语言中常常使用forma”)方法进行格式化。字符串格式化用于解决字符串和变量同时输

出时的格式安排问题

模板字符串.format(逗号维的参数)

如果模板字符串有多个例:”0曰:学而时习之,不亦0。”.format(“孔子“,”说乎")

槽,且槽内没有指定序

号,则按原槽出现的顺0o1

序分别对应.forma”)方

法中的不同参数。字符串中槽0的顺序forma")中参数的顺序

,孔子曰:学而时习之,不亦说乎。,

可以通过forma")参数的序号在模板字符串槽中指定参数的使用,参数从。开始编号

"{1}曰:学而时习之,不亦{0}°".formatr孔子”,“说乎”)

‘说乎曰:学而时习之,不亦孔子。’

format。方法的格式控制

槽除了包括参数序号,还可以包括格式控制信息。用来控制参数显示时的格式。

{参数序号:格式控制标记}

格式控制标记(注:字段都是可选的,可以组合使用)

对于整数类型,输出格式包括6种:

・b:输出整数的二进制方式;

•d:输出整数的十进制方式;

•o:输出整数的八进制方式;

•x:输出整数的小写十六进制方式;

•X:输出整数的大写十六进制方式;

・c:输出整数对应的舞;

对于浮点数类型,输出格式包括4种:

・e:输出浮点数对应的小写字母e的指数形式;

•E:输出浮点数对应的大写字母E的指数形式;

・f:输出浮点数的标准浮点形式;

•%:输出浮点数的百分形式。

例:

S二,等级考试,

X=

y=20

print('{0:{l}A{2}}Python'.format(s,x,y))

#»居中对齐********等级考试*★★★****Python

print('{0:{l}>{2}}Python,.format(s,x,y))

#>>右对齐****************等级考试Python

print('{:.3f},.format(1234.56789))#>>1234.568

printCfi.Sy.formatCabcdefghij'))#>>abcde

print('{0:b},{0:d},{0:o},{0:x},{0:X},{0:c},.format(425))

#»110101001,425,651,la9,lA9,Z

print('{0:c}'.format(97))#>>a

printC{0:e},{0:E},{0:f},{0:%}'.format(3.14))

#>>3.140000e+00,3.140000E+00,3.140000,314.000000%

print('{0:.2e},{0:.2E},{0:.2f},{0:.2%),.format(3.14))加了精度控制

#>>3.14e+00,3.14E+00,3.14,314.00%

针对字符串,Python语言提供了如下几个基本操作符和内置操作函数:

操作符描述

卜+y

连接两个字符串x与y

|x*r或r*x复制n次字符串x

|xins如果x是s的子串,返回True,否则返回False

函数描述

len(x)返回字符串x的长度,也可返回其他组合数据类型的元素个数

str(x)返回任意类型X所对应的字符串形式

chr(x)返回Unicode编码x对应的单字符

ord(x)返回单字符x表示的Unicode编码

hex(x)返回整数X对应十六进制数的小写形式字符串

oct(x)返回整数X对应八进制数的小写形式字符串

字符串操作方法:

方法描述

a.lower()返回字符串a的副本,全部字符小写

a.upper()返回字符串a的副本,全部字符大写

a.split(sep)能够根据sep分隔字符串a,分割后的内容以列表类型返回。

a.count(sub)返回字符串sub在a中出现的次数/

a.replace(old,new)返回字符串Q的副本,所有。⑹字符串被替换为new

a.center(width,fillchar)字符串居中函数,加cha修数可选

a.strlp(chars)从字符串a中去掉在其左侧和右侧chars中列出的等存

a.join(iter)籽计er变量的每一个元素中增加一个a字符串

注:副本指返回一个新的字符串,但不改变原本的变量Q

删除空白符rstrip()

name3='python'

name3=name3.rstrip()#删除多出的空格

#数字转换成字符串以下age如果不加类型转换就会报错,因为age是一个整数变

量,不能直接和字符串进行+拼接

age=23

message="Happy"+str(age)+"rdBirthday"

字符串切割成列表

split。通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个子字符

str.split(str=""num=string.count(str)).

参数:

•str-分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

•num-分割次数。默认为-1,即分隔所有。

返回值:返回分割后的字符串列表。

str="Linel-abcdef\nLine2-abc\nLine4-abcd";

printstr.split();#以空格为分隔符,包含\n

printstr.split('1);#以空格为分隔符,分隔成两个

输出:

['Linel-abcdef','Line2-abc','Line4-abcd']

['Linel-abcdef','\nLine2-abc\nLine4-abcd']

3.复数类型

Python语言中,复数可以看作是二元有序实数对(a,b),表示为:a+bj,其中,a是实

数部分,简称实部,b是虚数部分,简称虚部。虚数部分通过后缀“J“或者”『来表示。

需要注意,当b为1时,工不能省略,即lj表示复数。

例:11.3+4j-5.6+7j1.23e-4+5.67e+89j

复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real和z.imag分别获得它

的实数部分和虚数部分

(1.23e4+5.67e4j).real

结果为:12300.0

(1.23e4+5.67e4j).imag

结果为:56700.0

1.23e4+5.67e4j.imag#先获得5.67e4j的虚部,再与1.23e4进行求和计算

结果为:69000.0

赋值Z-4-运算

所有二元运算操作符(+、-、*、/、〃、姒**)都可以与等号(=)相连,形成增强赋值操

作符(+=、-=、*=、/=、〃=、%=、**=)

注:数值运算可能改变结果的数据类型,类型的改变与运算符有关,有如下基本规则:

①整数和浮点数混合运算,输出结果是浮点数;

②整数之间运算,产生结果类型与操作符相关,/运算的结果是浮点数;

③整数或浮点数与复数运算,输出结果是复数。

同步赋值语句(两个值互换)

同时给多个变量赋值

a,b=33,55#同步赋值语句,同时给多个变量赋值

a,b=b,a#两值互换快速方法

print(a,b)#>>5533

4.组合数据类型

是一个元素集合,元素之间无序,相同元素在集合中唯一

集合类型

存在。集合(set)

常用的组合数据是一个元素向量,元素之间存在先后关系,通过序号访问,

序列类型

类型有3大类元素之间不排他。序列类型的典型代表是字符串(str)、列表

(list),元组(tuple)

是“键-值”数据项的组合,每个元素是一个键值对,表

示为(key,value)。映射类型的典型代表是字典(dij)7

箕合数据类型

集合(set)是一个无序的不重复元素序列。

集合类型有4个操作符,交集&、并集|、差集-、补集、操作逻辑与数学定义相同。

操作符的运算1描述

式返回一个新集合包括在集合S中但不在集合T中的元素

返回一个新集合包括同时在集合S和T中的元素

S;T

返回一个新集合包括集合S和T中非共同元素

返回一个新集合包括集合S和T中所有元素

S(TS|TWST

S-TS&TSATS|T

可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{},因

为{}是用来创建一个空字典。

甲建格式:

parame={valueOl,value02,value03,...}

或者

set(value)

例:

>>>basket={'apple','orange*,'apple',‘pear','orange11banana'}

>>>print(basket)#这里演示的是去重功能

{'orange','banana'*pear','apple'}

>>>'orange'inbasket#快速判断元素是否在集合内

True

>>>'crabgrass'inbasket

False

»>#下面展示两个集合间的运算.

>>>a=set('abracadabra')

>>>b=set('alacazam')

>>>a

{‘a1'b','c',*d')

>>>a-b#集合a中包含而集合b中不包含的元

{'r','cP,'b')

>>>a|b#集合a或b中包含的所有元素

{'a','c','r','d','b','m','z''1'}

>>>a&b#集合a和b中都包含了的元素

{'a\'c')

>>>aAb#不同时包含于a和b的元素

集合类型有一些常用的操作函数或方法

函数或方法描述

S.add(x)如果数据项x不在集合S中,将x增加到s

S.remove(x)如果x在集合S中,移除该元素;不在产生KeyError异常

S.clear()移除S中所有数据项

len(S)返回集合S元素个数

xinS如果x是S的元素,返回True,否则返回False

xnotinS如果x不是S的元素,返回True,否则返回False

set()函数将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合。

set()函数也可以生成空集合变量。

列表

列表类型用中括号口表示,列表没有长度限制,元素类型可以不同。

通过list(x)函数将集合或字符串类型转换成列表类型。

列表属于序列类型,所以列表类型支持序列类型对应的操作

操作符描述

xins如果X是s的元素,返回True,否则返回False

xnotins如果x不是s的元素,返回True,否则返回False

s+t连接s和t

s*n或n*s将序列s复制n次

s[i]索引,返回序列的第i个元素

s[i:j]切片,返回包含序列$第1到个元素的子序列(不包含第j个元素)

s[i:j:k]步骤切片,返回包含序列s第i到j个元素以j为步数的子序列/

len(s)序列s的元素个数(长度)及

min(s)序列s中的最小元素

max(s)序列s中的最大元素

s.index(x)序列s中第一次出现元素X的位置

s.count(x)序列S中出现X的总、次数

for-in遍历列表

catName=['as'/gs'/kk']

forcatincatName:

print(cat)

»{七s';gs';kk'}

for-in循环和range。函数配合使用

#创建数字列表range。只列举参数2的前一位数,例如下方只打印1,2,3,4到第5就

停止,不会打印5

forvalueinrange(l,5):#Python在到达指定的第二个索引前面的元素后停止

print(value)

#将range。列举的数字直接转换为列表

numbers=list(range(l,6))#list将数字序列转换为列表

print(numbers)

#打印1-10的偶数

even_number=list(range(l,ll,2))#列表作为for循环的遍历结构

print(even_number)

#创建特殊列表1-10的平方数

squares=口

forvalueinrange(l,ll):

squares.append(value**2)

列表解析

列表名=[表达式for临时变量inrange(l,ll)]表达式用于生成要放入列表中的值

squares=[value**2forvalueinrange(l,ll)]#遍历列表并生成列表中元素值的平

方值,放入square中

print(squares)

»[1,4,9,16,25,36,49,64,81,100]

列表切片

列表或列表变量[N:M:K]

切片获取列表类型从N到M(不包含M)的元素组成新的列表。当K存在时,切片获取列

率类型从N到M(不包含M)以K为步长所对应元素组成的列表。

#使用列表的一部分元素

print(squares[l:4])#打印列表的第2个到第4个元素,参数1为起始索引,指定的

第二个参数4-1才是结束元素的索引

print(squares[l:8:2])#以2为步截取

print(squares[2:])#打印第3个元素到列表结束

print(squares[-3:])#打印列表的最后3名

#遍历切片

forvalueinsquares[:3]:

print(value)

复制列表

mynumber=squares[:]#切片起始到结尾的元素,然后复制给mynumber列表

print(mynumber)#mynumber是新的squares列表的副本

#如果是直接用=赋值不会创建副本,只是两个变量关联同一个列表,如下

mynumber2=squares#指向同一个列表,修改任何一个列表都会改变原始数据

列表操作方法

方法描述

Is.append(x)在列表Is最后增加一个元素X

ls.insert(i,x)在列表Is第i位置增加元素X

ls.clear()删除1s中所有元素

Is.pop(i)将列表Is中第i项元素取出并删除该元素

Is.remove(x)将列表中出现的第一个元素X删除

ls.reverse()列表1s中元素反转

ls.copy()生成一个新列表,复制1S中所有元素

Is.append(x)仅用于在列表中增加一个元素,如果希望增加多个元素,可以使用加号+,将两

个列表合并。

可以使用Python保留字del对列表元素或片段进行删除。

例:

del列表变量[索引序号]

del列表变量[索引起始:索引结束]

Python把不可变的列表称之为元组,和列表差不多,只是方括号改成了圆括号

dim=(300,7)

#dim[0]=232报错不支持改变值"tuple'objectdoesnotsupportitemassignment

#元组一样可以遍历

forvalueindim:

print(value)#»300,7

#虽然不能修改元组的元素,但可以给存储元组的变量赋值

dim=(632,99,77)

print(dim)>>(632,99,77)

#元组数据类型是tuple,同时tuple函数可以将字符串、列表转换为元组

ss='abed'

ss=tuple(ss)

print(type(ss))>>tuple

字典

Python语言中的字典使用大括号(}建立,每个元素是一个键值对。字典和集合有同样的共性,

元素是无序的,没有重复的。

{键1:值1,键2:值2,•••,键n:值n}

键和值通过冒号连接,不同键值对通过逗号隔开。大括号可以表示集合,字典类型也具有和

集合类似的性质,即键值对之间没有顺序且不能重复。

列表类型采用元素顺序的位置进行索引。由于字典元素“键值对”中键是值的索引,因此,

可以直接利用键值对关系索引元素。

字典变量[键]

利用索引和赋值=配合,可以对字典中每个元素进行修改。

使用大括号可以创建字典。通过索引和赋值配合,可以向字典中增加元素。

#字典字典是一系列的键一值对

alien={'color':'green','points':6}

print(alien['color'])

print(alien['points'])

#添加键-值对

alien['x_position']=0

alien['y_position']=23

print(alien)

»{'color*:'green1,'points*:6,'x_position,:0,‘y_position':23}

#创建空字典

sta={}

sta['namel']='python'

sta['age']=21

print(sta)

>>{'namel':'python','age':21}

#修改字典中的值

sta['namel']='java'

print(sta)

>>{'namel':'java1,'age':21}

#删除键-值对

delsta['age']

字典类型通用的操作方法:

操作函数描述

len(d)字典d的元素个数(长度)

min(d)字典d中键的最小值

max(d)字典d中键的最大值

dict()生成一个空字典

字典类型操作方法:

操作方法描述

d.keys()返回所有的键信息

d.values()返回所有的值信息

d.items()返回所有的键值对

d.get(key,default)键存在则返回相应值,否则返回默认值

d.pop(key,default)键存在则返回相应值,同时删除键值对,否则返回默认值

d.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回

d.clear()删除所有的键值对

d.keys()返回字典中的所有键信息,返回结果是Python的一种内部数据类型dict_keys,专

用于表示字典的键。如果希望更好的使用返回结果,可以将其转换为列表类型。

d.values。返回字典中的所有值信息,返回结果是Python的一种内部数据类型dict_valueso

如果希望更好的使用返回结果,可以将其转换为列表类型。

d.items。返回字典中的所有键值对信息,返回结果是Python的一种内部数据类型dictjtemso

d.get(key,default)根据键信息查找并返回值信息,如果key存在则返回相应值,否则返回

默认值,第二个元素default可以省略,如果省略则默认值为空。

d.pop(key,default)根据键信息查找并取出值信息,如果key存在则返回相应值,否则返回

默认值,第二个元素default可以省略,如果省略则默认值为空。相比d.get()方法,d.pop()

在取出相应值后,将从字典中删除对应的键值对。

d.popitem。随机从字典中取出一^f-键值对,以元组(key,value)形式返回。取出后从字典中删

除这个键值对。

d.clear()删除字典中所有键值对。

字典类型也支持保留字in,用来判断一个键是否在字典中。如果在则返回True,否则返回

False。

if键值in字典名:

字典可以遍历循环对其元素进行遍历

for变量名in字典名

语句块

f。「循环返回的变量名是字典的索弓I值。如果需要获得键对应的信可以在语句块中通过get()

方法获得。循环结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论