高级变量
回顾
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,如果连续切片,数字和冒号都可以生省略