一.标准数据类型

Python3 中有六个标准的数据类型:

  • Number(数字)
  • 布尔类型
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

Number(数字)

Python3 支持 int、float、bool、complex(复数)

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

比如说存年龄、工资、成绩等等这样的数据就可以用int类型,有正整数、负整数和0,浮点型的也就是小数类型(folat)的,带小数点的

python有double输出结果不带小数 python没有double_字符串

 


布尔型布尔类型就是真和假,只有True和Fasle两种,非真即假,除了True和False还有0和1,非0即真


 string(字符串)

字符串它可以存任意类型字符串,比如一个名字、一句话等,Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

字符串的截取的语法格式如下:

python有double输出结果不带小数 python没有double_python_02



List(列表)和列表操作

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。比如某个公司有100个人,怎么存呢,用字符串的话,那就是names = 'ldmly .....'这样,但是这样存是可以存,那要是想取到某个人的名字怎么取呢,不能再去里面看一遍吧,那累死人了,为了解决这个问题,又有一种新的数据类型那就是列表

列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

索引值以 0 为开始值,-1 为从末尾的开始位置。

python有double输出结果不带小数 python没有double_bc_03

 

 列表的基本操作分为:增、删、改、查等

打印list列表

python有double输出结果不带小数 python没有double_bc_04



增:

在list数组最后面增加一个元素用append

python有double输出结果不带小数 python没有double_数组_05

在list数组最前面增加一个元素

python有double输出结果不带小数 python没有double_字符串_06

打印的结果:

python有double输出结果不带小数 python没有double_python_07

在list数组中不存在的位置插入下标元素:插入的元素默认在list数组最后面

 

python有double输出结果不带小数 python没有double_数据结构与算法_08

打印结果:

python有double输出结果不带小数 python没有double_字符串_09


把list数组中丽丽改为月月:直接用下标修改

python有double输出结果不带小数 python没有double_数据结构与算法_10

 

打印结果:

python有double输出结果不带小数 python没有double_bc_11

 删
删除指定下标的值用:pop、del

删除list中指定元素用:remove

pop:默认删除数组最后一个下标的值,如果pop后面加下标,比如pop(0)就是删除第一个下标元素

python有double输出结果不带小数 python没有double_数据结构与算法_12

                                 

python有double输出结果不带小数 python没有double_数组_13


打印结果分别为:

python有double输出结果不带小数 python没有double_bc_14

     

python有double输出结果不带小数 python没有double_python_15

del类似pop

python有double输出结果不带小数 python没有double_数据结构与算法_16

打印结果:

python有double输出结果不带小数 python没有double_字符串_17

remove:如果数组数量太多不想数下标,直接删除某个元素可以用remove,如果有多个相同的元素,比如有多个梁冬梅,只会删除一个

python有double输出结果不带小数 python没有double_bc_18


打印结果:

python有double输出结果不带小数 python没有double_数组_19

 查

python有double输出结果不带小数 python没有double_数组_20


 

List其他常用的方法

count:计算list元素的数量

python有double输出结果不带小数 python没有double_数组_21

打印结果:

python有double输出结果不带小数 python没有double_bc_22

copy:复制一份list

python有double输出结果不带小数 python没有double_数据结构与算法_23

打印结果:

python有double输出结果不带小数 python没有double_字符串_24


reverse:把list里面的元素顺序颠倒下


python有double输出结果不带小数 python没有double_字符串_25

打印结果:

 

python有double输出结果不带小数 python没有double_字符串_26

index:找list元素的下标

 

python有double输出结果不带小数 python没有double_字符串_27

打印结果:

python有double输出结果不带小数 python没有double_字符串_28


 list多维数组

 查:查出下面的dev元素

方法:先找到数组元素的下标,在找到具体值在某个数组的下标,梁冬梅的下标为0,丽丽下标为1,娟下标为2,1...5这个数组的下标为3,test...ldm的下标为4,dev在下标为4的数组中的第1个下标元素

python有double输出结果不带小数 python没有double_bc_29

打印结果:

python有double输出结果不带小数 python没有double_bc_30

for循环一个list数组:for循环一个list,就是取list中的每个元素

python有double输出结果不带小数 python没有double_bc_31

打印结果:

python有double输出结果不带小数 python没有double_数组_32

 


 

二、字典 操作

字典操作

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:


info ={ 'username':'TengLan Wu', 'password':'123456', 'score':'90', }


创建空字典两种方法:

d1 = { }#定义一个空字典

d1 = dict() #定义一个空字典

 

增删改查


python有double输出结果不带小数 python没有double_数组_33


###增、删、改、查
###增加元素
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
print(d1)
###修改元素:把年龄18改为28
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
d1 ['age'] =28
print(d1)
###取某个key的值
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
d1 ['age'] =28
print(d1['name'])#取name的值
print(d1.get('age'))#get取值,取年龄
###取所有的key-value
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
d1 ['age'] =28
print(d1.keys())#取name的值
print(d1.values())#get取值,取年龄
##删除某个key或者value
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
d1 ['age'] =28
d1.pop('name')#pop方法删除name
del d1['age']#del方法删除age
print(d1)
###清空字段
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
d1 ['age'] =28
d1.clear()#清空字典
print(d1)
###把某个字典的内容添加到另外一个字典中去
d1 = { }#定义一个空字典
d1 ['name'] ='梁冬梅'#字典都是key-value形式,字典中增加名字
d1 ['age'] =18
d1.setdefault('class','双子座')#setdefault也可以增加元素
d1 ['age'] =28
d2 = {'dm':'abc'}
d1.update(d2)#把d2字典的内容添加到d1字典中
print(d1)


python有double输出结果不带小数 python没有double_数组_33


字典的多级嵌套


python有double输出结果不带小数 python没有double_数组_33


av_catalog={ "欧美":{ "www.youporn.com":["很多免费的,世界最大的","质量一般"], "www.pornhub.com":["很多免费,也很大","比youporn高点"], "letmedothistoyou.com":["多是自拍,高质量图片很多","资源丰富"] }, "日韩":{ "tokyo-hot":["质量不清楚,个人已经不喜欢日韩","听说是收费的"], }, "大陆":{ "1024":["全部免费。真好好人一生平安","服务器在国外,慢"] } } #修改多级嵌套 av_catalog["大陆"]["1024"][1]="可以在国内做镜像" print(av_catalog)


python有double输出结果不带小数 python没有double_数组_33


 


 

字典循环 


如下字典怎么取key,value的值


users = {
    "liangdongmei":'abc1234',
    "liangdongmei1":'abc1234',
    "liangdongmei2":'abc1234',
    "liangdongmei3":'abc1234',
    "liangdongmei4":'abc1234',
}

 循环取每个key-value:items方法可以同时取key,value

 

python有double输出结果不带小数 python没有double_数据结构与算法_37

打印结果:

python有double输出结果不带小数 python没有double_bc_38

 


 

字符串常用的方法 

 字符串是不能直接被修改的,需要赋给一个新的变量


strip函数:去掉前后的空格及换行符


python有double输出结果不带小数 python没有double_数组_39

打印

python有double输出结果不带小数 python没有double_python_40

去掉换行符

python有double输出结果不带小数 python没有double_bc_41

打印结果:

python有double输出结果不带小数 python没有double_数据结构与算法_42

去掉左侧的空格

python有double输出结果不带小数 python没有double_字符串_43

去掉右侧空格:

 

python有double输出结果不带小数 python没有double_bc_44

统计数量方法:count

python有double输出结果不带小数 python没有double_bc_45

python有double输出结果不带小数 python没有double_bc_46

打印结果:

python有double输出结果不带小数 python没有double_字符串_47

以什么什么开头,以什么什么结尾的方法:

 

python有double输出结果不带小数 python没有double_数组_48

split方法:此方法可以按照某个字符串分割,把分割后的元素放到一个list里面

 

python有double输出结果不带小数 python没有double_字符串_49

打印结果:

python有double输出结果不带小数 python没有double_数据结构与算法_50

python有double输出结果不带小数 python没有double_字符串_51

打印结果:

python有double输出结果不带小数 python没有double_bc_52

 字符串写到文件中:

python有double输出结果不带小数 python没有double_数组_53

join方法:可以把list转为字符串且用符号把list元素连接起来

python有double输出结果不带小数 python没有double_bc_54

打印结果:

python有double输出结果不带小数 python没有double_字符串_55

 read:读取文件

###打开一个文件把abc写到文件中
f = open('names.txt','r',encoding='utf-8')#打开一个文件
res = f.read()
print('从文件中读取出来的数据'.res)
f.close()#关闭文件