数据内置方法补充

内容概要

  • 列表内置方法补充
  • 字典内置方法
  • 元组内置方法
  • 集合内置方法
  • 字符编码

列表其他方法

  • 升序和降序
    image

  • 切片
    s = [9, 4, 6, 2, 7]
    print(s[1:3])
    print(s[::-1]) # 冒号两边不写默认全都要
    print(s[:4]) # 右边不写默认从头开始
    print(s[1:]) # 左边不写默认到末尾
    image

  • 比较运算
    s = [222, 333]
    s1 = [111, 222, 333]
    print(s > s1)
    image
    s = 'go'
    s1 = 'sss hhh'
    print(s > s1)
    image

字典内置方法

  • 索引取值
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print(dict['age']) # 按k取值
    print(dict['ppp']) # k不存在直接报错
    image

  • 修改和添加
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    dict['age'] = 'about' # k键存在为修改值
    dict['ppp'] = 666 # k键不存在为添加键值对
    print(dict)
    image

  • 统计字典内部键值对的个数
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print(len(dict))
    image

  • 成员运算
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print('user' in dict)
    print('age' in dict)
    image

  • 删除元素
    方式一
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    del dict['age']
    print(dict)
    image
    方式二
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    dict.pop('hobby')
    print(dict)
    image
    方式三
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print(dict.popitem())
    print(dict)
    image

  • 获取v值
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print(dict.get('name'))
    print(dict.get('ppp')) # k键不存才不会报错返回none
    print(dict.get('hobby', 123)) # 第二个参数可以在k不存在的时候自定义返回信息
    print(dict.get('www', 333)) # 第二个参数可以在k不存在的时候自定义返回信息
    image
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print(dict.keys()) # 获取字典所有的键 当成列表即可
    print(dict.values()) # 获取字典所有的值 当成列表即可
    print(dict.items()) # 获取字典所有的键值对 组织成列表套元素
    """keys() values() items() 在python2中是列表 在python3中是迭代器"""
    image
    dict = {'name': 'user', 'age': 18, 'hobby': 'music'}
    print(dict.setdefault('age', 18))
    print(dict.setdefault('ppp', 999))
    print(dict)
    image

元组内置方法

  • 类型转换
    能够支持for循环的数据都可以转换成元组
    print(tuple('123'))
    print(tuple([11, 22, 33]))
    print(tuple({'name': 'user', 'age': 18}))
    image

  • 索引取值
    s = (11, 22, 33, 44, 55)
    print(s[3])
    image

  • 切片
    s = (11, 22, 33, 44, 55)
    print(s[1:3])
    image

  • 步长
    s = (11, 22, 33, 44, 55)
    print(s[1:4:2])
    image

  • 统计元组内元素个数
    s = (11, 22, 33, 44, 55)
    print(len(s))
    image

  • for循环
    s = (11, 22, 33, 44, 55)
    for i in s:
    print(i)
    image

  • count计数
    s = (11, 22, 33, 44, 55)
    print(s.count(33))
    image

  • 笔试
    s = (11, 22, 33, [44, 55])
    s[3].append(666)
    print(s)
    image

集合去重操作

  • 定义空集合需要用到关键字set
    s = set()

  • 类型转换 能够支持for循环的数据都可以转成集合(元素要是不可变类型)
    集合内元素是无序的
    s = [11, 22, 33, 44, 55]
    print(type(set(s)))
    s1 = {'name': 'user', 'age': 123, 'hobby': 'music'}
    print(type(set(s1)))
    image

  • 去重
    s = {1, 1, 2, 2, 3, 3, 4, 1, 3, 2, 5}
    print(s)
    s1 = [11, 11, 33, 33, 22, 22]
    s1 = set(s1)
    print(s1)
    image

  • 联系去重并保留原来顺序
    j = [66, 33, 55, 77, 77, 99, 22, 11]
    l = []
    for i in j:
    if i not in l:
    l.append(i)
    print(l)
    image

集合关系运算

  • 关系运算
    两个群体之间做差异比较

  • 两个用户的共同好友
    s1 = {'ss', 'dd', 'cc', 'ff', 'gg'}
    s2 = {'ff', 'zz', 'xx', 'gg', 'nn'}
    print(s1 & s2)
    image

  • 两个用户所有的好友
    s1 = {'ss', 'dd', 'cc', 'ff', 'gg'}
    s2 = {'ff', 'zz', 'xx', 'gg', 'nn'}
    print(s1 | s2)
    image

  • 用户1和用户2的独有好友
    s1 = {'ss', 'dd', 'cc', 'ff', 'gg'}
    s2 = {'ff', 'zz', 'xx', 'gg', 'nn'}
    print(s1 - s2)
    print(s2 - s1)
    image

  • 用户1和用户2各自好友
    s1 = {'ss', 'dd', 'cc', 'ff', 'gg'}
    s2 = {'ff', 'zz', 'xx', 'gg', 'nn'}
    print(s1 ^ s2)
    image

  • 父集与子集
    l1 = {1, 2, 3}
    l2 = {2, }
    print(l1 > l2) # 判断l1是l2的父集
    print(l2 < l1) # 判断l2是l1的子集
    image

image

posted @ 2021-11-09 21:01  一览如画  阅读(49)  评论(0)    收藏  举报