高级变量

心不动则不痛 提交于 2020-02-27 12:31:08

回顾

Python中数据类型可以分为数字型和非数字型

数字型

  整型

  浮点型

  布尔型

  复数型(complex)

非数字型

  字符串

  列表

  元组

  字典

 

在Python中,所有非数字型变量都支持以下特点

  1.都是一个序列sequence,也可以理解为容器

  2.取值[]

  3.遍历 for in

  4.计算长度、最大/最小、比较、删除

  5.链接 + 和重复 *

  6.切片

 

列表

列表(list)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组

专门用于存储一串信息

列表用[]定义,数据之间使用,分隔

列表的索引从0开始

  索引就是数据在列表中的位置编号,索引又可以被称为下标

 注意:从列表中取值时,如果超出索引范围,程序会报错

 

列表取值

列表名[索引值]  #索引超出范围会报错

列表取索引

列表名.index(“想确定的值”)  #传递的数据不在列表中,程序会报错

修改列表的值

列表名[要修改值的索引] = “要修改的值”  #索引超出范围,程序报错

列表增加数据

列表名.append("添加的数据")  #向列表末尾追加数据

列表名.insert(索引值,“添加的数据”)  # 向指定的索引位置添加数据

列表名.extend(列表名)  #将其他列表中的完整内容追加到当前列表末尾

列表的删除

列表名.remove(“删除的数据”)  #删除出现的第一个指定的数据,如果数据不存在,报错

列表名.pop()  #默认可以把列表中最后一个元组删除,并返回删除的数据,如果指定索引,删除指定索引的数据

列表名.clear()  # clear可以清空列表

使用del关键字(delete)删除列表元素

del 列表名.[索引号]  #del关键字本质上是用来将一个变量从内存中删除的 

提示:在日常开发中,要从列表删除数据,建议送列表提供的方法

统计列表长度

变量 = len(列表名)  #len函数可以统计列表中元素的总数

统计元素出现的次数

变量 = 列表名.count(“元素”)  #统计制定元素出现的次数

元素排序

列表名.sort()  #将列表数据升序排序

列表名.sort(reverse=True)  #将列表数据降序排序

列表名.reverse()  #将列表数据反转

 

关键字、函数和方法

关键字是Python内置的,具有特殊意义的标识符,关键字后面不需要使用括号

函数是封装了独立功能,可以直接调用,函数需要死记硬背

方法和函数类似,同样是封装了独立的功能,需要通过对象来调用,表示针对该对象要做的操作

 

列表循环遍历

。遍历就是从头到尾依次从列表中获取数据

  。在循环体内部针对每一个元素,执行相同的操作

。Python中为了提高列表的遍历效率,专门提供的迭代iteration遍历

。使用for就能够实现迭代遍历

# for循环内部使用的变量 in 列表
for name in name_list:
    循环内部针对列表元素进行操作
    print(name)

应用场景

  。尽管Python的列表中可以存储不同类型的数据,但是在开发中,一般存储相同类型的数据,通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作

 

 

元组

 

元组的定义

Tuple(元组)与列表类似,不同之处在于元组的元素不能修改,表示多个元素组成的序列,用于存储一串信息,数据之间使用,分隔,使用()定义,索引从0开始

 

元组中只包含一个元素时,需要在元素列表后面添加逗号

info_tuple=(50,)

如果只是(50),Python解释器会忽略括号,将数据当成int型

Python提供的元组方法只有count、index两个,所以元组不能修改是原因的。只能取值,统计

 

在Python中,可以使用for循环遍历所有非数字型类型的变量:列表、元组、字典以及字符串

元组的应用场景

  。函数的参数和返回值,一个函数可以接受任何多个参数,或者一次返回多个数据

  。格式字符串,格式化字符串后面的()本质上就是一个元组

  。让列表不可以被修改,以保护数据安全

元组和列表之间的转换

使用list函数可以把元组转换成列表

list(元组名)  #将指定元组转成列表

使用tuple函数可以把列表转成元组

tuple(列表名)  #将指定的列表转成元组

 

 

字典

字典的定义

dictionary(字典)是除列表以外Python之中最灵活的数据类型,字典同样可以用来存储U盾讴歌数据(通常用来描述一个物体的相关信息),与列表不同的是字典存储的信息是无序的,使用{}定义。字典使用键值对存储数据,键值对之间使用,分隔

  。键key是索引

  。值value是数据

  。键和值之间使用:分隔

  。键必须是唯一的

  。值可以取任何数据类型,但键只能使用字符串、数字或元组

格式如下:

小明 = {“name”:“小明”,
             “age”:18,
             “height”:175  }

 

字典取值

字典名["key值"]  #取得指定key的值,如果key不存在,程序报错

字典增加/修改

字典名["key值"]=“value值”  #修改指定key的值,如果key不存在,添加数据

字典删掉

字典名.pop(“key”)  #删除指定key的值,如果key不存,程序报错

统计字典中键值对的数量

len(字典名)  #统计指定字典的键值对数量

合并字典

字典名.update(字典名)  #将指定字典合并到该字典,如果存在相同key修改原有key对应的值

清空字典

字典.clear()  #清空字典

 

循环遍历字典

遍历就是依次从字典中获取所有键值对

格式:

for k in info_dic:
    print("%s=>%s" %(k, info_dic[k]))

应用场景

。使用多个键值对,存储描述一个物体的相关信息

。将多个字典放在一个列表中,在进行遍历,在循环体内部针对每一个字典进行相同的处理

list = [{"name":"zhangsan","age":18},{"name":"lisi","age":19}]

 

 

字符串

字符串的定义

字符串就是一串字符,是编程语言中表示文本的数据类型

在Python中可以使用一对双引号“”或者一对单引号‘’定义一个字符串

  。如果字符串内部需要使用“”,可以使用‘’定义字符串

  。如果字符串内部需要使用‘’,可以使用“”定义字符串

可以使用索引获取一个字符串中制定位置的字符,索引计数从0开始

也可以使用for循环遍历字符串中每一个字符

大多数编程语言都是“”来定义字符串

统计字符串长度

len(字符串)  #统计指定字符串的长度

统计小字符串的次数

字符串.count(“小字符串”)  #小字符串的次数,不存在返回0

判断子字符串出现的位置

字符串.index(“字符串”)  #字符串出现的位置,不存在报错

 

 

字符串中的转义字符

  \t在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐

  \n在控制台输出一个换行符

    制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本

判断空白字符

字符串.isspace()  #判断字符串是否是空白字符

判断是否为数字

字符串.isdecimal()  #判断是否为数字,不能判断小数

字符串.isdigit()  #判断是否为数字,不能判断小数,可以判断Unicode字符串

字符串.isnumeric()  #判断是否为数字,不能判断小数,可以判断Unicode,和中午数字

 

 

 

字符串.startswith(“字符串”)  #判断是否以指定字符串开始

字符串.endswith("字符串")  #判断是否以指定字符串结束

字符串.find("字符串")  #查找指定字符串,如果有返回字符串位置,如果没有返回-1,不向index报错

字符串.replace(“old”,“new”)  #将老的替换成新的。返回新的字符串,不会修改原有字符串

 

 

 

 

 

 

拆分字符串

字符串.split()  #将字符串按照制定的符号拆分成列表,返回列表,不指定符号,默认按空白字符分隔

合并字符串

“指定字符串”.join(列表名)  #将列表元组按照制定的字符串拼接成字符串,返回字符串

 

字符串的切片

  切片方法适用于字符串、列表、元组

    。切片使用索引值,来限定范围,从一个大的字符串中,切出小的字符串

    。列表和元组都是有序的集合,能够通过索引值获取到对应的数据

    。字典是一个无序的集合,是使用键值对保存数据

格式:

  字符串[开始索引:结束索引:步长]

注意:指定的区间属于左闭右开型 =》[开始索引, 结束索引] =》开始索引 >= 范围 <结束索引

  。从头开始,开始索引数字可以省略,冒号不能省略

  。到末尾结束,结束索引数字可以省略,冒号不能省略

  。步长默认为1,如果连续切片,数字和冒号都可以生省略

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!