zoukankan      html  css  js  c++  java
  • python集合及内置方法

    1.集合

    集合主要作用:去重;关系运算。

    集合的元素遵循三个原则:1:每个元素必须是不可变类型(可hash,可作为字典的key);2:没有重复的元素;3:无序

    2.集合的内置方法

    (1)将列表转化为一个集合,并将列表中的重复元素删除,生成一个无序的集合

    s=set(['alex','alex','王强'])
    print(s)

    set()在创建集合时会自动去重;frozenset()创建出的集合不可被添加删除

    (2)添加及删除

    s=set(['alex','alex','王强'])
    s.add('wangqiang')
    print(s)

    add()添加,只能添加一个元素;s1.update(s2)的形式可以更新多个值,将集合s2中的元素更新到s1中

    clear()清屏;copy()复制,复制输出无序;

    s=set(['alex','alex','王强'])
    s.remove('wangqiang')
    print(s)

    remove()指定删除,当指定删除的元素不存在时会报错;pop()随机删除;discard()指定删除,当指定删除的元素不存在时不会报错

    (3)交集(&或者intersection())

    p_s={'lcg','szw','zjw','lcg'}
    l_s={'lcg','szw','王强'}
    print(p_s&l_s)
    print(p_s.intersection(l_s))

    输出结果为:{'szw', 'lcg'}

    (4)并集(|或者union())

    p_s={'lcg','szw','zjw','lcg'}
    l_s={'lcg','szw','王强'}
    print(p_s|l_s)
    print(p_s.union(l_s))

    输出结果为:{'zjw', 'szw', '王强', 'lcg'}

    (5)差集(-或者difference())

    p_s={'lcg','szw','zjw','lcg'}
    l_s={'lcg','szw','王强'}
    print(p_s-l_s)
    print(p_s.difference(l_s))

    输出结果为:{'zjw'}

    p_s-l_s:仅存在于p_s集合里的;l_s-p_s:仅存在于l_s集合里的(输出结果为:{'王强'})

    p_s={'lcg','szw','zjw','lcg'}
    l_s={'lcg','szw','王强'}
    p_s.difference_update(l_s)
    print(p_s)

    difference_update():求出差集并将结果更新于集合中

    (6)交叉补集(^或者symmetric_difference())

    p_s={'lcg','szw','zjw','lcg'}
    l_s={'lcg','szw','王强'}
    print(l_s^p_s)
    print(p_s.symmetric_difference(l_s))

    输出结果为:{'王强', 'zjw'}。两集合的并集减去两集合的交集

    (7)判断两集合是否没有交集

    s1={1,2}
    s2={2,1,5}
    print(s1.isdisjoint(s2))

    输出结果为:false。(没有交集返回值为true,有交集返回值为false)

    (8)子集和父集

    s1={1,2}
    s2={1,2,3}
    print(s1.issubset(s2))
    print(s2.issuperset(s1))

    输出结果为:true;true(其中,s1.issubset(s2)判断s1 是否是s2 的子集;s2.issuperset(s1)判断s1 是否是s2 的父集)

    (9)列表去重

    names=['alex','alex','wupeiqi']
    names=list(set(names))
    print(names)

    输出结果为:['wupeiqi', 'alex'](结果仍未列表的形式,结果内的元素是无序的)

    3.字符串格式化

    a.百分号方式

    (1)字符串拼接

    msg='i am %s my hobby is %d' % ('wangqiang',18)
    print(msg)

    输出结果为:i am wangqiang my hobby is 18

    %s后面可以接任何数据类型,基本接字符串;%d后面接整形数字

    tpl = "i am %(name)s age %(age)d" % {"name": "wangqiang", "age": 18}
    print(tpl)

    输出结果为:i am wangqiang my agey is 18(以键的形式传入数据)

    (2)打印浮点数(默认保留六位)

    tpl = "percent %.2f" % 99.97623444
    print(tpl)

    输出结果为:percent 99.98。其中,2表示保留小数点后两位

    (3)打印百分比(默认保留六位)

    tpl = 'percent %.2f %%' % 99.976234444
    print(tpl)

    输出结果为:percent 99.98%

    (4)按指定分隔符将字符串进行拼接

    print('root','x','0','0',sep=':')

    输出结果为:root:x:0:0

    b.format()字符串格式化

    (1)以字典的方式进行传入

    tpl = "i am {name}, age {age}, really {name}".format(**{"name": "王强", "age": 18})
    print(tpl)

    输出结果为:i am 王强, age 18, really 王强。相当于命令:

    tpl = "i am {name}, age {age}, really {name}".format(name="王强", age=18)
    print(tpl)

    (2)以列表的方式传入

    tpl = "i am {:s}, age {:d}".format(*["王强", 18])
    print(tpl)

    输出结果为:i am 王强, age 18。相当于命令:

    tpl = "i am {:s}, age {:d}".format("seven", 18)
    print(tpl)

    (3)

    tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{}".format(15, 15, 15, 15, 15, 15.87623, 2)
    print(tpl)

    输出结果为:numbers: 1111,17,15,f,F, 1587.623000%,2

  • 相关阅读:
    浅谈自动化测试
    Linux cron定时介绍
    Python上下文管理器
    Robot Framework robot命令
    Web自动化测试之playwright:设置浏览器语言
    Python文件及目录处理方法
    2021google开发者大会
    linux环境变量设置小结
    Eclipse快捷键
    java计时 小计
  • 原文地址:https://www.cnblogs.com/quyao/p/9603560.html
Copyright © 2011-2022 走看看