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
      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 的元素,也就是去掉共有元素后的并集。



04-07 16:55