序列类型包括列表、元组和范围(range)以及字符串,序列类型的对象有一些共同的操作,如操作符运算、切片操作等。
1. list类型与操作
1.1 玩转索引
列表(list)类型的对象可以通过 list()函数来创建。如果list()函数没有传入参数,则创建一个空列表。
In [1]:L1=1izt([123, 23, [4,5,6], 'abe')) In [2]:L1 0ut[[2]:[123, 23, [4,5,6], 'abe'] 操作 返回值 x in s 如果元素x在序列s中,返回值为True,否则,为False x not in s 如果元素x不在序列s中,返回值为False,否则,为True s+t 序列s和序列t的链接,前提是序列的数据类型(type)相同 sn or ns 序列s中的元素整体重复n次,形成一个新的序列 s[i] 返回序列s中索引值为i的元素值;s第一个索引值为0 S[i:j] 返回序列s索引值为i到j的切片,不包括s[j] s[i:j:k] 返回s索引序列的切片,索引序列为以k为步长,起始值为i,结束值为j len(s) 返回s序列的所占字符长度 min(s 返回序列s中的最小值 max(s) 返回序列s中的最大值 s.index(x[,i[,j] 返回x在序列s或者切片s[i:j]中第一次出现的索引值 s.count(x) 返回序列s中,元素x 出现的次数列表是可变对象,列表中元素及其元素的个数允许被更改,可以增加、插入或者删除列表中的元素
1.2 常规方法
列表是可变对象,列表中元素及其元素的个数允许被更改,可以增加、插入和删除。
1.2.1 增
操作 方法 append list.append("单个元素") +/+= list1+list2 或 list += list2 extend list.extend("可迭代对象")1.2.2 删
操作 方法 说明 pop list.pop("指定索引") 删除指定索引位置的元素并返回删除值,默认删除列表最右端元素 remove list1.remove("指定元素") 如果指定元素在列表则删除最左端(第一次)出现的元素,否则抛出ValueError在实际使用remove()方法的时候,往往先使用count(x) 函数来统计列表中指定元素的个数,如果count(x)返回值为0则不需要再进行删除
1.2.3方法汇总
方法名称 功能 List1.append(x) 增加一个元素,在列表List1的末尾段增加一个元素x List1.extend(w) 增加多个元素,w是可迭代对象,将y中的元素都增加到List1末尾处 List1.insert(i,x) 在列表List1的索引值为i处插入元素x List1.pop() 删除列表List1中末尾处的元素,并打印出该元素值 List1.pop(i) i为整型数据,删除并打印出列表List1索引值为i的元素值 List1.count(x) 返回列表List1中元素x出现的个数 List1.remove(x) 若元素x位于列表List1中,输出x在列表出现的最左端那个值;否则,有ValueError List1.sort() 对列表List1中的元素升序排列,前提是List1中的元素是有顺序性的 List1.reverse() 对列表List1 中的元素降序排列,前提是List1 中的元素是有顺序性的 List1.index(x,start,end) 返回列表List1或者列表切片ListIstart:end]中元素x出现位置最左边的索引值2. tuple类型与操作
元组(tuple)数据也属于序列类型数据,但其具有不可变的性质,可以通过函数 tuple()、"逗号(,)"以及"小括号( )"创建一个元组对象。当然也可以通过tuple()方法将list类型更改为tuple类型
- 举个栗子
同样的,元组也是序列类型的数据,所以也同样具有和list类似的索引切片方式,方法参照list,不再一一列举。
3. range类型与操作
range()函数可以生成一个等间隔的整数序列,具有不可变的性质,可以直接通过range()方法生成。
- 参数配置
只传入一个参数时,表示生成一个初始值为0、间隔为1,终止值为stop-1的等差序列
range(stop)第一个参敷为初触值.第二个参数为终止参照值,第三个参数step表示步长
range(start,stop,step)将range()传入可迭代对象生成对应的类型数据,此处以list为例,生成含有从1到10的奇数的列表
In[1]: list = range(1, 10, 2) list out[1]: range(1, 10, 2)4. 字符串类型与操作
字符串生成函数str()用于创建一个字符串对象,该函数也会把其他类型的数据转变成字符串对象。
4.1基础方法汇总
操作方法 功能 len() 求字符串长度 + 拼接字符串 "'设置的连接符'".join("可迭代对象") 用设置的连接符链接可迭代对象中的每一个元素,返回结果为字符串 "字符串对象".split(sep="'分割识别符'", maxsplit=1) 以指定的分割识别符最多分割 maxsplit次字符串,返回结果为列表 str.islower() 如果字符串对象str中的所有字符均为小写字母,返回True;否则,返回值为False. str.isupper() 如果字符串对象str中的所有字符均为大写字母,返回True;否则,返回值为 False。 str.lower() 将字符串对象str中的所有字符转变成小写字母。 str.upper() 将字符串对象str中的所有字符转变成大写字母。 str.istitle() 如果字符串对象str中无空格的连续字符的首字母均大写,其余部分均小写,则返回值为True;否则,返回值为False. str.title() 将字符串对象str 无空格的连续字符转变成首字母大写,其余部分均小写的形式 str.capitalize() 将字符串对象str的首字母大写,其余部分均小写 str.swapcase() 将字符串中的字母大小写调换,原本大写转变成小写,原本小写转变成大写。 str.find(x) 返回字符串x出现在字符串对象str 中的最左边位置;如果x不在str对象中,返回值为-1. str.index(x) 返回字符串x出现在字符串对象str中的最左边位置;如果x不在str对象中,会报错. str.rfind(x) 返回字符串x出现在字符串对象str中的最右边位置;如果x不在str对象中,返回值为-1。 str.rindex(x) 返回字符串x出现在字符串对象str中的最右边位置;如果x不在str对象中,会报错。 str.startswith(x) 参数x为字符串或者元组,如果对象str以x或者x元组中的某一个元素开头,则返回True,否则返回False. str.endswith() 参数x为字符串或者元组,如果对象str以x或者x元组中的某一个元素结束,则返回True,否则返回False. str.strip(chars) 删去对象str开始和结束处与参数字符chars 相同的部分 str.rstrip(chars) 删去对象str 结尾处与参数字符chars 相同的部分5. 字典类型与操作
字典类型对象不是按照序列的方式存储数值,而是将值映射给一个键,通过索引字典中的键来提取相对应的值。若要创建一个字典对象,有两种方法可以使用。一是通过花括号{}创建,另一种方法是通过字典类的构造函数dict()来实现。
操作方法 功能 dict.items() 返回所有键值对 dict.kyes() 返回所有键 dict.values() 返回所有值 dict["键名"].get() 获取”键名“的值 dict.update("key1"="value1") 更新字典对象中键的取值 dict["原字典中不存在的键"]="value" 增加新的元素 del dict["键名"] 删除指定的键 clear() 清空字典中所有的内容并返回6. 集合操作
python中的集合类型有两种,一种是set,是可变的数据类型,另外一种是frozenset,该数据类型不可变。
6.1 常规操作
集合常用于列表去重,对于set数据类型添加元素可以使用add()方法,删除元素可以使用remove()方法。(frozen类型的对象无法修改)
6.2 集合的运算
集合的运算不仅适用于两个集合之间,三个及三个以上的集合也适用
调用方法(method) 操作符运算 运算含义 set1.union(set2) set|set2 集合set1与set2作并运算 set1.intersection(set2) set1 & set2 集合set1与set2作交运算 set1.difference(set2) set1 - set2 集合差运算,删去集合set1中与set2相同的元素 set1.symmetric_difference(set2) set1^set2 集合对称差运算,返回集合set1与set2 中除了两集合共有元素以外的所有元素 set1.issubset(set2) set1<= set2 如果集合set1为集合set2 的子集,则返回True;否则,返回False set1.issuperset(set2) set1>=set2 如果集合set2为集合set1的子集,则返回True;否则,返回False set1.isdisjoint(set2) 如果集合 set2和set1无交集,则返回True,否则返回 False