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

集合:

定义:集合是多个元素的无序组合。(无序,唯一,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中元素的个数

Python__组合数据类型的更多相关文章

  1. Python3组合数据类型(元组、列表、集合、字典)语法

    一.序列类型(字符串,元组(),列表[]) 序列类型支持in,len(),分片[],迭代,5种内置序列类型:bytearray,bytes,list,str,tuple(元组). 1.元组可以嵌套(如 ...

  2. python的组合数据类型及其内置方法说明

    python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...

  3. Python Revisited Day 03 (组合数据类型)

    目录 第三章 组合数据类型 3.1 序列类型 3.1.1 元组 3.1.2 命名的元组 (collections.nametuple()) 3.1.3 列表 (查询有关函数点这) 3.1.4 列表内涵 ...

  4. Python字符串、组合数据类型练习

    一.Python字符串练习 1.http://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html 取得校园新闻的编号. (这个方法就很多了,一般方 ...

  5. Python学习笔记(六)Python组合数据类型

    在之前我们学会了数字类型,包括整数类型.浮点类型和复数类型,这些类型仅能表示一个数据,这种表示单一数据的类型称为基本数据类型.然而,实际计算中却存在大量同时处理多个数据的情况,这种需要将多个数据有效组 ...

  6. python组合数据类型和数据结构

    //2019.12-071.pyhton里面组合数据类型主要有三种:集合(set).序列(字符串str.列表list and 元组tuple)和映射(字典dic)2.集合类型一般使用大括号{}来进行表 ...

  7. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

  8. Python的组合数据类型

    """ Python的组合类型: 序列类型:元素之间存在先后关系,可以通过索引来访问 列表: 元组: 字符串: 映射类型:用键值来表示数据 字典: 集合类型:元素是无序的 ...

  9. 笔记-4:python组合数据类型

    1.字符串(str) 字符串是字符的序列表示, 根据字符串的内容多少分为单行字符串和多行字符串. 单行字符串可以由一对单引号(') 或双引号(")作为边界来表示, 单引号和双引号作用相同. ...

随机推荐

  1. ZZNU 2076(退役学长最后的神功 zz题)

    题目链接:http://acm.zznu.edu.cn/problem.php?pid=2076 输入一个T表示有T个样例每组实例一个整数n(0〈n〈1000接下来输入2*n个数字,代表一个2*n的矩 ...

  2. 【vim】分割窗口、标签页与Quickfix窗口

    vim支持窗口分割和标签页,合适地使用这两种特性可以使文字编辑工作更愉快. 1. 窗口分割 vim支持窗口的水平分割和垂直分割.以下是常用的操作指令或快捷键. 命令 说明 vim -o <fil ...

  3. JAVA并发编程学习笔记------结构化并发应用程序

    1. Executor基于生产者-消费者模式,提交任务的操作相当于生产者,执行任务的线程相当于消费者,如果要在程序中实现一个生产者-消费者的设计,最简单的方式通常就是使用Executor 2. Exe ...

  4. my SQL Workbench创建数据库

    1.首先连接数据库 2. 点击图中的红圈里的按钮,新建一个Schema,即数据库(个人理解..),修改一下Name 的值,如  mydatabase ,点击apply,再点apply,然后点finis ...

  5. python3模块: uuid

    一. 简介 UUID是128位的全局唯一标识符,通常由32字节的字母串表示.它可以保证时间和空间的唯一性,也称为GUID. 全称为:UUID--Universally Unique IDentifie ...

  6. 02--STL算法(函数对象和谓词)

    一:函数对象(仿函数):实现状态记录等其他操作<相对于普通函数> 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象. 即是重载了“ ...

  7. EJB3 阶段总结+一个EJB3案例 (2)

    这篇博文接着上一篇博文的EJB案例. 在上一篇博文中,将程序的架构基本给描述出来了,EJB模块分为5层. 1)DB层,即数据库层 在则一部分,我使用的数据库为mysql.在EJB程序中,访问数据库是通 ...

  8. EJB3 事物

    在ejb3中事物分为两种类型:容器管理的事物(CMT).Bean管理的事物(BMT) 1.容器管理的事物(CTN) 是EJB默认的事物管理方式,即以对应的方法起始和结束来由EJB容器确定事务的始末边界 ...

  9. 【Java并发编程】:死锁

    当线程需要同时持有多个锁时,有可能产生死锁.考虑如下情形: 线程A当前持有互斥所锁lock1,线程B当前持有互斥锁lock2.接下来,当线程A仍然持有lock1时,它试图获取lock2,因为线程B正持 ...

  10. Android Layout 01_activity_Login.xml

    activity_login.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...