python基础3 ---python数据类型二

时间:2021-09-14 09:43:02

ython基础

一、python数据类型     ------列表(list)

  1、定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
    特性:可存放多个不同类型的值;可修改指定索引位置对应的值,可变;按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序。

  2、列表的常用操作方法

    list.append():追加成员

    list.count(x):计算列表中参数x出现的次数

    list.extend(L):向列表中追加另一个列表L

    list.index(x):获得参数x在列表中的位置

    list.insert():向列表中插入数据

    list.pop():删除列表中的成员(通过下标删除即索引号删除)

    list.remove():删除列表中的成员(直接删除)

    list.reverse():将列表中成员的顺序颠倒

    list.sort():将列表中成员排序

    list[start : end : step]:列表切片,start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1。

二、python数据类型     ------元组(tuple)

  1、定义:与列表类似,只不过[]改成()

    特性:可存放多个值;不可变;按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序.
  2、创建元组:创建元组方法很简单,元组是用小括号( )包括起来的,( )括号中的元素用逗号分割,这样就完成元组的创建了。如果新建时没有用( )括号包括,只用逗号进行分隔
python也会把它认做为元组。如果你新建的元组中只有一个值,那么请记得在这个值后边加上逗号
  3、元组注意事项:
      元组是一个有序的集合。元组和列表一样可以使用索引、切片来取值。创建元组后不能在原地进行修改替换等操作。元组支持嵌套,可以包含列表、字典和不同元组。元组支
持一般序列的操作,例如:+、*注意+、*操作时,返回的是一个新元组 三、python数据类型 -------字典(dic)

  1、定义:{key1:value1,key2:value2},key-value结构,key必须可hash
  2、特性:可存放多个值;可修改指定key对应的值,可变;无序。

  3、字典的使用方法:

  操作
dict.clear() 删除字典中所有元素
dict.copy() 返回字典(浅复制)的一个副本
dict.fromkeysc(seq,val=None) 创建并返回一个新字典,以seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为None)
dict.get(key,default=None) 对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)
dict.has_key(key) 如果键(key)在字典中存在,返回True,否则返回False. 在Python2.2版本引入in 和not in 后,此方法几乎已废弃不用了,但仍提供一个 可工作的接口。
dict.items() 返回一个包含字典中(键, 值)对元组的列表
dict.keys() 返回一个包含字典中键的列表
dict.values() 返回一个包含字典中所有值的列表
dict.iter() 方法iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。
dict.pop(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。

四、python数据类型 -------集合(set)

  1、定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key
  2、特性:集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

  3、标准类型操作符(所有的集合类型)
    
成员关系 (in, not in)就序列而言,Python中的in和not in操作符决定某个元素是否是一个集合中的成员。
    集合等价/不等价等价/不等价被用于在相同或不同的集合之间做比较。两个集合相等是指,对每个集合而言,当且仅当其中一个集合中的每个成员同时也是另一个集合中的成员。也可以说每个集合必须是另一个集合的一个子集,
即s <= t 和s>= t 的值均为真(True),或(s <= t and s>= t)
的值为真(True)。集合等价/不等价与集合的类型或集合成员的顺序无关,只与集合的元素有关。
    子集/超集set用Python的比较操作符检查某集合是否是其他集合的超集或子集。“小于”符号(<、<=)用来判断子集,“大于”符号(>、
>= )用来判断超集。“小于” 和 “大于”意味着两个集合在比较时不能相等。等于号允许非严格定义的子集和超集。
        set支持严格( < )子集和非严格 ( <= ) 子集,也支持严格( > )超集和非严格 ( >=
)超集。只有当第一个集合是第二个集合的严格子集时,我们才称第一个集合“小于”第二个集合。同理,只有当第一个集合是第二个集合的严格超集时,我们才称第一个集合“大于”第二个集合。

      对象值的比较:任何相同类型的对象都可以比较,格式为:a == b,在python2.3之前类型不具有布尔值,返回值为1 0;2.3版本之后返回只为 True False

      对象身份的比较

    obj1 is obj2  --obj 与obj2是同一个对象  return True False

    obj1 is not obj2 --obj 与obj2是同一个对象  return True False

  4、集合类型操作符(所有的集合类型)
    
联合( | )联合(union)操作和集合的 OR(又称可兼析取(inclusive
disjunction))其实是等价的,两个集合的联合是一个新集合,该集合中的每个元素都至少是其中一个集合的成员,即属于两个集合其中之一的成员。联合符号有一个等价的方法:union()。
    交集( & )可以把交集操作比做集合的AND(或合取)操作。两个集合的交集是一个新集合,该集合中的每个元素同时是两个集合中的成员,即属于两个集合的成员。交集符号有一个等价的方法:intersection()。
    差补/相对补集( – )两个集合(s 和 t)的差补或相对补集是指一个集合 C,该集合中的元素,只属于集合 s,而不属于集合 t。差符号有一个等价的方法:difference()。
    对称差分( ^ )和其他的布尔集合操作相似,对称差分是集合的XOR(又称“异或” (exclusive
disjunction))。两个集合(s 和 t)的对称差分是指另外一个集合C,该集合中的元素,只能是属于集合 s
或者集合t的成员,不能同时属于两个集合。对称差分有一个等价的方法:symmetric_difference()。