python高级变量类型

概述

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

数字型:整型(int),浮点型(float),布尔型(bool),复数型 (complex)
非数字型:列表(list),元组(tuple),字典(dictionary),字符串(str)



列表

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

一:增加

(1)在末尾增加元素
列表.append(数据)
(2)在指定位置插入数据(位置前有空元素会补位)
列表.insert(索引, 数据)    
(3)将可迭代对象中 的元素 追加到列表
列表.extend(Iterable)


二:删除

(1)删除指定索引的数据
del 列表[索引]
(2)删除第一个出现的指定数据
列表.remove(数据)
(3)删除末尾数据,返回被删除的元素
列表.pop()
(4)删除指定索引数据,返回被删除的元素
列表.pop(索引)
(5)清空列表
列表.clear


三:修改

(1)修改指定索引的数据,数据不存在会报错
列表[索引] = 数据


四:查询

(1)根据索引取值,索引不存在会报错
列表[索引]
(2)根据值查询索引,返回首次出现时的索引,没有查到会报错
列表.index(数据)
(3)数据在列表中出现的次数
列表.count(数据)
(4)列表长度
len(列表)
(5)检查列表中是否包含某元素
if 数据 in 列表:


五:排序

(1)升序排序
列表.sort()
(2)降序排序
列表.sort(reverse=True)
(3)逆序、反转
列表.reverse()




元组

元组与列表类似,不同之处在于元组中的元素不能修改

一:查询

(1)根据索引取值,索引不存在会报错
元组[索引]
(2)根据值查询索引,返回首次出现时的索引,没有查到会报错
元组.index(数据)
(3)数据在元组中出现的次数
元组.count(数据)
(4)元组长度
len(列表)
(5)检查元组中是否包含某元素
if 数据 in 元组:




字典

字典是除列表以外, Python之中最灵活的数据类型

一:增加

(1)键不存在,会添加键值对;键存在,会修改键值对的值
字典[键] = 数据    


二:删除

(1)删除指定的键值对
del 字典[键]    
(2)删除指定键值对,返回被删除的值
字典.pop(键)
(3)清空字典
字典.clear


三:修改

(1)键不存在,会添加键值对;键存在,会修改键值对的值
字典[键] = 数据
(2)键值对不存在,添加键值对;存在则不做处理
字典.setdefault(键,数据)
(3)取出字典2的键值对,键值对不存在,添加键值对;存在则修改值
字典.update(字典2)


四:查询

(1)根据键取值,键值对不存在会报错
字典[键]
(2)根据键取值,键值对不存在不会报错
字典.get(键)
(3)可进行遍历,获取所有键
字典.keys()    
(4)可进行遍历,获取所有值
字典.values()
(5)可进行遍历,获取所有(键,值)
字典.items()




字符串

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

一:判断

(1)如果 string 至少有一个字符并且所有字符都是字母则返回 True
string.isalpha()
(2)如果 string 只包含数字则返回 True
string.isdecimal()
(3)如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
string.islower()
(4)如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True
string.isupper()
(5)检查字符串是否是以 str 开头,是则返回 True
string.startswith(str)
(6)检查字符串是否是以 str 结束,是则返回 True
string.endswith(str)    


二: 查找和替换

(1)检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
string.find(str, start=0, end=len(string))
(2)类似于 find(),不过是从右边开始查找
string.rfind(str, start=0, end=len(string))
(3)跟 find() 方法类似,不过如果 str 不在 string 会报错
string.index(str, start=0, end=len(string))
(4)类似于 index(),不过是从右边开始
string.rindex(str, start=0, end=len(string))
(5)返回一个新字符串,把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次
string.replace(old_str, new_str, num=string.count(old))


三: 拆分和连接

(1)返回元组,把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
string.partition(str)
(2)类似于 partition() 方法,不过是从右边开始查找
string.rpartition(str)
(3)返回列表,以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格
string.split(str="", num)
(4)返回列表,按照行(‘\r’, ‘\n’, ‘\r\n’)分隔
string.splitlines()
(5)拼接两个字符串
string1 + string2
(6)返回字符串,以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
string.join(seq)


四:大小写转换

(1)返回新字符串,转换 string 中所有大写字符为小写
string.lower()
(2)返回新字符串,转换 string 中的小写字母为大写
string.upper()


五:文本对齐

(1)返回新字符串,基于原字符串左对齐,并使用空格填充至长度 width
string.ljust(width)    
(2)返回新字符串,基于原字符串右对齐,并使用空格填充至长度 width
string.rjust(width)
(3)返回新字符串,基于原字符串居中,并使用空格填充至长度 width
string.center(width)


六:去除空白字符

(1)返回新字符串,截掉 string 左边(开始)的空白字符
string.lstrip()
(2)返回新字符串,截掉 string 右边(末尾)的空白字符
string.rstrip()
(3)返回新字符串,截掉 string 左右两边的空白字符
string.strip()




公共语法

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

  • 都是一个序列 sequence,也可以理解为容器
  • 取值 []
  • 遍历 for in
  • 计算长度、最大/最小值、比较、删除
  • 链接 + 和 重复 *
  • 切片