python_内建结构

列表

    • 索引
    • 切片
    • .count查某个元素的出现次数
    • .index根据内容找其对应的位置
  • 增加
    • a.append()
    • a.insert(index,"内容")
  • 修改
    • a[index] = "新值"
    • a[start:end] = [a,b,c]
  • 删除
    • remove("内容")
    • pop(index)
    • 不指定索引会默认删除最后一个
    • del a[index]
    • a.clear() 清空列表中的内容
  • 排序
    • sort()
    • a.sort() 调用a对象的方法
    • b = sorted(a) 调用内置方法
    • reserver()
  • 身份判断
    • type(a) is list
  • count
    • 统计列表中数据的个数
    • extend方法可以在列表的末尾一次性追加另一个序列中的多个值
    • a.extend(b) 扩展
    • c = a + b 用加号返回一个全新的列表

tuble(元组)

  • 元组被称为只读列表,即数据可以被查询,但不能被修改
  • 另外,元组的意义还在于,元组可以在映射(和集合的成员)中当作键使用--而列表则不行,元组作为很多内建函数和方法的返回值存在。
  • 创建一个元素的时候一定要加个逗号(22,)

不可变类型

  • 整形,字符串,元组

可变类型

  • 列表,字典

dictionary(字典)

  • 字典的键是不可变类型,值是可变类型或者是不可变类型

  • 两大特点

    • 无序
    • 键唯一
  • 增加

    • dic["age"] = 18
    • dic.setdefault("age",34)
    • 如果age这个键有那么不修改,如果没有就增加值为34
    • 返回值为真实的值
    • 通过键去查找
    • dic.keys()
    • 查找字典所有的键
    • 返回的是:'dict_keys'类型
    • dic.values()
    • 查找的是所有的值
    • 返回的是:'dict_values'类型
    • dic.items()
    • 查找的是所有的键值队
    • 返回的是:'dict_items'类型
    • 跟列表差不多
    • dic3.update(dic2)
    • 如果dic3和dic2有相同的键则会更新dic2中的内容
    • 和列表中的append差不多
    • del dic[键]
      • 删除的是键值对
    • dic.clear()
      • 删除成一个空字典
    • dic.pop(键)
      • 有返回值同list
    • dic.popitem()
      • 随机删除某组键值对,并以元组方式返回值
      • 没什么用
    • del dic
      • 删除整个字典对象
  • 其他操作以及涉及到的方法

    • 创建的第三种方式
      • dic = dict.fromkeys(['host1','host2'],'test') 输出格式如下:
  • 排序 sorted(dic)、sorted(dic.values)、sorted(dic.items)

    • 如果键是数字则根据数字的的大小排序
    • 没有dic.sort()
  • 遍历

    • 效率高的

      • for i in dic:
        • print(i,dic[i])
    • 效率低一些的

      • for i in dic.items(): # 会把字典转换为列表的过程,如果数据量少还可以,多的话就费时间
        • print(i)
      • for k,v in dic.items():
        • print(k,v)

工厂函数(创建内建结构的方式)

  • a = list((1,2,3))
  • b = dict((("name","jay"),))
  • b = dict((["name","jay"],))
  • b = dict([["name","jay"],])

字符串

  • 可以通过索引加切片的形式
  • 格式化字符串、
  • c = "---".join([a,b,c])
    • 通过“---”把a,b,c字符创拼接
    • 处理地址url会用到
  • c.count("l") # 统计元素个数
  • c.capitalize() # 首字母大写
  • c.center(50,"-") # 居中
  • c.encode
  • c.endswith("aa") # 以某个内容结尾
  • c.startwith('tty') # 以某个内容开头
  • c = "he\tllo kitty"
  • c.find("t") # 查找"t"在第几个位置,并将索引值返回
  • c.format() # 格式化输出
  • c.format_map()({'name':jay})
  • c.index('qqq') # 和find的区别是加入字符串没找到就会报错
  • c.isalnum()# 判断是否包含字母和数字
  • c.isdecimal() # 判断是否是十进制的数
  • c.isdigit() # 判断是否是一个整型
  • c.isidentifier() # 判断是否是非法字符如数字不能开头
  • c.islower() # 判断字符串是否全是小写
  • c.isupper() # 判断字符串是否全是大写
  • c.isspace() # 判断是否全是空格
  • c.istitle() # 判断是否是标题
    • 标题的特点是每个单词的首字母大写
  • c.lower() # 把字符串全部改为小写
  • c.upper() # 把字符串全部改为大写**
  • c.swapcase() # 把大写改为小写,把小写改为大写
  • c.ljust(20,'-') # 左对齐
  • c.rjust(20,'-') # 右对齐
  • c.strip() # 去除字符串的换行符和空格、制表符
  • c.lstrip() # 去除字符串左边的换行符和空格、制表符
  • c.rstrip() # 去除字符串右边的换行符和空格、制表符
  • "my title".replace('title','lession') # 把字符串中的title替换成lession
  • "My title title".rfind('t') # 最右边的"t"
  • c.split("字符",1) # 返回分隔后的字符串列表,1代表分隔一次
  • c.title() # 变成标题格式

集合

  • 创建方式只有一种

    • s = set([13,45,667])
  • 重复的只会保留一个☆

  • 元素必须是可哈希的及元素是不可变类型

  • 分类

    • 可变集合(用的较多)
      • 本身非可哈希(可变的类型)
    • 不可变集合
  • 添加

    • s.add("uu") # 添加双引号中的元素
    • s.update('aop') # 分别添加元素a,元素o,元素p
    • s.update((231,132,"fdsafa") # 把以逗号分隔的元素添加到集合中
  • 删除

    • s.pop()
    • s.clear()
    • del s
  • 关系测试☆

  • 交集

    • a & b
    • a.intersection(b)
  • 并集

    • a | b
    • a.union(b)
  • 差集

    • c = a-b
    • a.difference(b)
  • 反向交集

    • c = a ^ b
    • a.symmetric_difference(b)
  • 父集

    • a > b
    • a.issuperset(b) # a是否包含b
  • 子集

    • a < b
    • a.issubset(b)
posted @ 2019-06-11 19:59  yllang  阅读(201)  评论(0编辑  收藏  举报