一、集合(set)

1.集合的特性:

  不同元素组成、元素是无序排列的可hash值

2.集合转为列表

s1 = {11,"hechouzi",(11,22,33)}
names = list(s1)
print(names)

3.集合的方法

(1)add 添加元素

s = {11,22,(1,2),"hechouzi"}
s.add("kobe")
print(s)

(2) clear 清空元素

s = {11,22,(1,2),"hechouzi"}
s.clear()
print(s)

(3) copy

s = {11,22,(1,2),"hechouzi"}
s1 = s.copy()
print(s1)

(4)pop 随机删除,remove 指定删除,没有报错 discard 指定删除,没有不会报错

s = {11,22,(1,2),"hechouzi"}
s.pop()
s.remove(11)
s.discard(10)
print(s)

4.关系测试

(1)intersection(&)求取交集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.intersection(s2)
s3 = s1 & s2
print(s3)

(2)union(|) 求取并集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.union(s2)
s3 = s1 | s2
print(s3)

(3) difference(-)求取差集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.difference(s2)
s3 = s1 - s2
print(s3)

(4)symmetric_difference(^)求取交叉补集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.symmetric_difference(s2)
s3 = s1 ^ s2
print(s3)

(5) xx.update 将得到的集合更新到s1

s1.intersection_update(s2)
print(s1)

(6)isdisjoint 无交集返回True

s1 = {11,22,33,"hechouzi"}
s2 = {44,55}
v = s1.isdisjoint(s2)

(7)issubset  s2是s1的子集返回True

s1 = {11,22,33,"hechouzi"}
s2 = {11,22}
v = s2.issubset(s1)
print(v)

(8)issuperset  s1是s2的父集返回True

s1 = {11,22,33,"hechouzi"}
s2 = {11,22}
v = s1.issuperset(s2)
print(v)

(9) update 更新多个值

s1 = {11,"hechouzi",(11,22,33)}
s1.update((22,33))
print(s1)

二、字符串拼接

1.%

(1)%s 字符串类型,%d整型数字,%.2f 浮点数,小数点后2位默认6位,% .2f%%,百分比

s = "I am %s,I am %d, percent %.2f, %.2f%%"%("hechouzi",25,42.8888,24.88888)
print(s

(2)字典

s = "I am %(name)s,I am %(age)d"%{"name":"hechouzi","age":25}
print(s)

2.format

  *列表  **字典

  :b 二进制  :o 八进制  :d  整型  :x  十六进制小写  :X  十六进制大写

s = "i am {},age{},{}".format("bigmouse",25,"dazui")
print(s)
s = "i am {},age{},{}".format(*["bigmouse",25,"dazui"])
print(s)
s = "i am {0},age{1},{1}".format("bigmouse",25,"dazui")
print(s)
s = "i am {2},age{1},{0}".format(*["bigmouse",25,"dazui"])
print(s)
s = "i am {name},age{age},{name}".format(name="bigmouth",age=25)
print(s)
s = "i am {name},age{age},{name}".format(**{"name":"bigmouth","age":25})
print(s)
s = "i am {0[0]},age{0[1]},{1[2]}".format([1,2,3],[11,22,33])
print(s)
s = "i am {:s},age {:d},length {:.3f}".format("dazui",24,2.1111)
print(s)
s = "i am {name:s},age {age:d},{length:.3f}".format(name="dazui",age=24,length=2.1111)
print(s)
s = "i am {name:s},age {age:d},{length:.3f}".format(**{"name":"dazui","age":24,"length":2.1111})
print(s)
s1 = "num1:{:b} {:o} {:d} {:x} {:X} {:.3%}".format(24,24,24,24,24,24.888888,)
print(s1)

最新文章

  1. mongodb之使用explain和hint性能分析和优化
  2. php读取sql2000的image字段,被截断的问题
  3. 【转】用Python实现各种排序算法
  4. 关于JDK,tomcat,MyEclipse的配置
  5. DIY_hlstudio_WIN7PE【69M】网络版【89M】
  6. oracle:自定义多行合并聚合函数
  7. InternetOpen怎么使用代理
  8. 学Android开发 这19个开发工具助你顺风顺水
  9. A框架 第二部 实例化接收到的get类,调用父类抽象方法,自动执行方法call_user_func_array()
  10. 【one day one linux】linux下的软件包管理工具
  11. My Stuck in C++
  12. 一个大数据方案:基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎
  13. (python)排序算法
  14. 学习! ! ! Study! ! !
  15. LNOI2014LCA(树链剖分+离线操作+前缀和)
  16. C# 调用线程并行上下文穿透-ILogicalThreadAffinative+CallContext
  17. Django Rest Framework源码剖析(一)-----认证
  18. sqlvarchar后自动填充空格解决办法(SET ANSI_PADDING)
  19. 建造者模式及C++实现
  20. 【转】asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别

热门文章

  1. 实验三:xen环境下的第一个虚拟机的安装
  2. js 一些方法
  3. JAVA方法参数传递
  4. linux 查看端口被占用
  5. list按照某个元素进行排序
  6. springboot+mybatis+freemark+oauth开发环境搭建
  7. 2018面向对象程序设计(Java)第17周学习指导及要求
  8. Selenium Webdriver元素定位的八种常用方式(转载)
  9. zabbix3.4 监控ESXI6.7
  10. C#Winform的DEV下拉下拉控件介绍