【python基础】五大数据类型及常用方法
1. 数据类型概述
python中的字符串,列表,元组,字典,集合这五种数据类型均是可迭代的,可以使用for循环访问,涵盖了三类数据结构分别为序列、散列、集合。
序列:
字符串 str
列表 list()
元组 tuple()
散列:
字典 dict()
集合:
set()
字典(dict)和集合(set)均认为是无序的,不考虑有序字典,字典的特点是“键值”唯一,集合的特点是所有元素均唯一。
其中序列类的数据类型(str,list,tuple)访问对象元素的方法基本相通,均是有序的数据类型,均支持“下标索引” 和 “切片”方法。
切片常规用法范例:
[::-1] #返回一个整体倒序的序列
[:-2] #返回一个去除了最后2位的序列
[0:5] #返回从脚标0开始索引至角标4的切片结果 (左闭右开,默认步长为1)
[0:5:2] #返回从脚标0开始索引至角标4的切片结果 (步长为2,也就是搁一个取一个)
2. 常用的方法整理
字符串(str):
string.join(iter) #将字符串string填充到iter对象中的每两个元素中间,返回一个字符串
注意:iter中的每个元素均是字符串,若存在其他类型需要转换,否则无法拼接
string.count(x) #统计字符“x”在字符串string中出现的次数
string.replace(old,new) #使用‘new’字符替换string中所有‘old’字符
string.find(x) #返回字符串中子传‘x’第一次出现的位置脚标,找不到返回-1
string.split(x) #使用字串‘x’作为分隔符对字符string传进行分割,返回一个由多个字符串组成的列表
string.capitalize() #将字符串首字母转换为大写,其余字符转换为小写
string.lower() #将字符串中的英文字母统一转换为小写
string.upper() #将字符串中的英文字母统一转换为大写
string.startswith(subStr,startIndex,endIndex)#判断字符串是不是以subStr开头的,是返回True,反之返回False
string.endswith(subStr,startIndex,endIndex) #可以指定索引位置,不指定默认从头开始索引
列表(list):
list() = []
list.append(element) #向列表中追加元素
list.extend(iter) #向列表中追加另一个“可迭代的对象”,并将对象中的元素逐个添加到列表中
list.pop(index) #按照索引删除列表中的元素,并返回该元素, 如果不传index默认删除最后一个元素
list.remove(element) #按照元素值删除列表中的元素
list.count(element) #统计指定元素在列表中出现的次数
list.index(element) #查找列表中某个元素第一次出现的位置
list.insert(index,obj) #在列表中的指定位置插入元素,无返回
list.reverse() #将列表中所有元素反向顺序存放
list.sort(reverse=False)#列表元素按照ascii码排序,默认升序reverse=False
字典(dict):
dict() = {}
特点:无序,字典元素的key值唯一
dict.items() #获取以列表返回可遍历的(键, 值)元组元素,常用于for循环获取字典 for k,v in dict.items():pass
dict.keys() #获取字典中所有键值组成的列表
dict.values() #获取字典中所有values组成的列表
dict.get(key) #根据键获取字典中的值
dic.pop(key) #删除字典中的指定键值对
dict.clear() #删除字典中的所有元素
dict.copy() #字典复制
dict['key'] = vlaue #双重用法 1.更新字典中的某一个值 2.若不存在则新增此键值对
dict.has_key(key) #如果“键”存在字典里则返回True,反之返回False (python3开始使用 in 来判断)
dict.update(dict1) #将字典dict1中的元素添加到dict中,如果有键值重复的元素会自动舍弃,取并集
元组(tuple):
tuple() = ()
特点:有序,不允许修改的数据类型,但是可以拼接合并/复制
tuple = tuple1 + tuple2 #元组合并
tuple = tuple * 2 #元组复制
tuple.index(obj) #在元组中查找该元素并返回第一个匹配项的索引下标
tuple.count(obj) #统计该元素在元组中出现的次数
集合(set):
set() = {}
特点:{element1,element2,...}无序,集合中的元素每个都唯一
注意:声明一个空的集合必须使用set(), 如果使用{}会默认为空字典
set.add(obj) #集合添加元素,只能添加数字、字符串、元组、Bool类型的元素,其他不支持
set.remove(obj) #删除集合中的元素
集合支持运算符运算:
set1 & set2:(交集) 取两集合公共的元素
set1 | set2:(并集) 取两集合全部的元素
set1 - set2: (差集)取一个集合中另一集合没有的元素,也就是set1中特有的元素。
set1 ^ set2:(对称差集)取集合 A 和 B 中不属于 A&B 的元素,也就是去掉共有元素后的并集。