Python__组合数据类型

组合数据:集合类型、序列类型(元组类型、列表类型)、字典类型

集合:

      定义:集合是多个元素的无序组合。(无序,唯一,Python中要求放入集合中的数据类型是不可变的)。

              集合用大括号 {}表示,元素间用逗号分隔

              创建集合用{} 或者 set()

      集合操作符:S | T  (并集)    S - T (差集)    S & T(交集)   S ^ T (补集)  

                           判断子集关系:S<=T(或S<T)  S>=T (或S >T)      返回True / False

                         增强操作符:   S |  = T ==> S = S|T  

      集合处理方法:对于集合S,我们可以使用的方法有:

                               S.add(x)        如果x不在S中,将x增加到S

                               S.discard(x)   移除S中元素x,如果x不在集合S中,不报错

                               S.remove(x)   移除S中的元素x,如果x不在集合S中,产生KeyError异常  (可以使用try-except方法捕捉异常)

                               S.clear()         移除S中所有元素

                               S.pop()          随机返回S的一个元素,若S为空产生KeyError异常

                               S.copy()          返回集合S的一个副本

                               len(S)                返回集合S的元素个数

                                x in S            判断S中是否包含元素x ,x 在集合中,返回True,否则返回False

                               x not in S  

                               set(x)              将其他类型的变量x 转换为集合类型

      集合应用场景:包含关系比较    数据去重

序列:

       序列类型定义: 序列是具有先后关系的一组元素。

                                 序列是一维元素向量,元素类型可以不同

                                 类似数学元素序列:S0,S1,...,Sn-1

                                 元素间由序号引导,通过下标访问序列的特定元素。

                    序列是一个基类类型,我们一般不直接使用序列,而是使用其衍生出来的:字符串类型、元组类型、列表类型。序列的所有操作,在字符串类型、元组类型、列表类型中都是试用的,同时,字符串、元组、列表又有其独有的操作能力。

                    序号的定义:序号具有正向递增和反向递减的

       序列处理函数及方法:

                6个操作符:  x in s : 如果x 是序列s的元素,返回True,否则返回False

                                     x not in s: 

                                     s + t : 连接两个序列 s 和 t

                                     s * n ( n * s) : 序列s 复制 n 次

                                     s[i] :索引   返回s中第i 个元素,i是序列的序号。

                                     s[i:j:k]  切片,  返回序列中,i到j以k为步长的子序列   (s[::-1]  序列取反)

             5个函数和方法:

                                     len(s)  返回序列s的长度

                                      min(s) 返回序列s的最小元素,s中元素需要可比较,如果元素不可比较,将报错

                                       max(s)

                                       s.index(x)  / s.index(x,i,j) 返回序列s从i到j第一次出现元素x的位置

                                       s.count(x)   返回序列s中出现x的总次数

       元组类型及操作:

                      元组定义:元组是序列类型的一种拓展。

                                元组是一种序列类型,一旦创建就不能被修改。

                               使用小括号()或者tuple()创建,元素间用逗号分隔

                               可以使用小括号或不适用小括号。                                     def func(): return 1,2    #这里返回值就是一个元组。

                       元组的操作:元组继承序列类型的全部通用操作

                                 元组继承了序列类型的全部通用操作

                                 元组因为创建后不能修改,因此没有特殊操作

                                 使用或者不适用小括号

       列表类型及操作:

                    列表类型定义: 列表是序列的一种扩展,十分常用

                                 列表是一种序列类型,创建后可以随意被修改

                                  使用方括号[] 或 list()创建,元素间用逗号分隔

                                  可以使用或不适用小括号

                     列表类型操作函数和方法:

                           函数:

                                  ls[i] = x              替换列表ls第i元素为x

                                 ls[i:j:k] = lt          用列表lt 替换ls切片后所对应元素子列表

                                 del  ls[i]              删除列表ls中第i元素

                                 del  ls[i:j:k]           删除列表ls中第i到j以k为步长的元素

                                  ls + =lt                跟新列表ls,将列表lt元素鞥家到列表ls中

                                   ls * = n                更新列表ls,其元素重复n次

                            方法:

                                   ls.append(x)            列表最后增加一个元素x

                                   ls.clear()                    删除列表ls中所有的元素

                                   ls.copy()                    生成一个新的列表,赋值ls中所有元素

                                   ls.insert(i,x)                在列表ls的第i位置增加元素x

                                   ls.pop(i)                      将列表ls中第i位置元素取出并删除该元素

                                    ls.remove(x)              将列表ls中出现的第一个元素x删除

                                    ls.reverse()               将列表中的元素反转

字典:

       映射是一种键(索引)和值(数据)的对应

       字典类型是映射的提现           字典是键值对的集合,键值对之间无序

       采用大括号或者dict()来创建,键值对用冒号表示

       创建一个空字典  直接使用大括号

字典类型操作函数和方法

                   del d[k]          删除字典d中键k对应的数据值

                   k in d             判断k是否在d中 

                   d.keys()         返回字典d中所有键信息

                  d.values()       返回所有值信息

                  d.items()          返回所有键值对信息

                  d.get(k,<default>)    键值k存在,返回相应的值,不存在则返回<default>值

                 d.pop(k,<default>)    键k存在,则取出相应的值,不存在则返回<default>值

                 d.popitem()               随机重字典d中取出一个键值对,以元组形式返回

                  d.clear()                   删除所有的键值对

                  len(d)                       返回字典d中元素的个数

posted @ 2018-05-01 20:19  maskedguy  阅读(655)  评论(0编辑  收藏  举报