目录

  

集合(set)

  {‘a’,'b','c','d','e'}

  定义:有不同元素组成的集合,集合的元素为不可变类型(数字,字符串,元组),集合是一组无序排列的可hash值,可以作为字段的key

  注:进行修改值操作后不改变id值的变量类型( id(argv)不发生改变 即内存地址不发生改变 )为不可变类型

     集合的创建:


  定义可变量集合set  >>>  set_test=set('hello')    或    set_test=set(['hello','123','chen'])

  定义不可变量集合set  >>> set_test=frozenset('hello')  

    集合的关系测试


  a = {'aa','bb','cc','dd'}

  b = {'aa','bb','cc'}

  交集:取两个集合相交的部分

a.intersection(b)
a&b

  并集: 两个集合联合,去掉相同的部分

a.union(b)
a|b

  差集:取一个集合在另一个集合没有的部分

a.difference(b)
a-b

  交叉补集:联合两个集合,去掉共同的部分

a.symmetric_difference(b)
a^b

  集合的方法:

class set(object):
"""
set() -> new empty set object
set(iterable) -> new set object Build an unordered collection of unique elements.
""" def add(self, *args, **kwargs): # real signature unknown
"""添加一个元素到集合到集合中"""
"""
Add an element to a set. This has no effect if the element is already present.
"""
pass def clear(self, *args, **kwargs): # real signature unknown
""" Remove all elements from this set. """
pass def copy(self, *args, **kwargs): # real signature unknown
""" Return a shallow copy of a set. """
pass def difference(self, *args, **kwargs): # real signature unknown
"""差集 a-b"""
"""
Return the difference of two or more sets as a new set. (i.e. all elements that are in this set but not the others.)
"""
pass def difference_update(self, *args, **kwargs): # real signature unknown
"""取差集并更新集合"""
""" Remove all elements of another set from this set. """
pass def discard(self, *args, **kwargs): # real signature unknown
"""删除元素,如果没找到,返回none"""
"""
Remove an element from a set if it is a member. If the element is not a member, do nothing.
"""
pass def intersection(self, *args, **kwargs): # real signature unknown
"""交集 a&b"""
"""
Return the intersection of two sets as a new set. (i.e. all elements that are in both sets.)
"""
pass def intersection_update(self, *args, **kwargs): # real signature unknown
"""取交集并更新集合"""
""" Update a set with the intersection of itself and another. """
pass def isdisjoint(self, *args, **kwargs): # real signature unknown
"""判断两个交集是否有交集"""
""" Return True if two sets have a null intersection. """
pass def issubset(self, *args, **kwargs): # real signature unknown
"""判断一个集合是不是另一个集合的子集"""
""" Report whether another set contains this set. """
pass def issuperset(self, *args, **kwargs): # real signature unknown
"""判断一个集合是不是另一个集合的父集"""
""" Report whether this set contains another set. """
pass def pop(self, *args, **kwargs): # real signature unknown
"""随机删除一个元素"""
"""
Remove and return an arbitrary set element.
Raises KeyError if the set is empty.
"""
pass def remove(self, *args, **kwargs): # real signature unknown
"""指定元素删除,如果没找到,报异常"""
"""
Remove an element from a set; it must be a member. If the element is not a member, raise a KeyError.
"""
pass def symmetric_difference(self, *args, **kwargs): # real signature unknown
"""交叉补集 a^b"""
"""
Return the symmetric difference of two sets as a new set. (i.e. all elements that are in exactly one of the sets.)
"""
pass def symmetric_difference_update(self, *args, **kwargs): # real signature unknown
"""取交叉补集并更新集合"""
""" Update a set with the symmetric difference of itself and another. """
pass def union(self, *args, **kwargs): # real signature unknown
"""并集 a|b"""
"""
Return the union of sets as a new set. (i.e. all elements that are in either set.)
"""
pass def update(self, *args, **kwargs): # real signature unknown
"""添加集合,参数为可迭代对象"""
""" Update a set with the union of itself and others. """
pass

set_method

字符串的格式化

   1.  百分号方式

 %[(name)[flags][width].[precision]tyecode]  

  • (name)      【可选】用于指定key
  • flags          【可选】
    • +        右对齐:正数前加负号
    • -         左对齐:负数前加正号
    • 空格      右对齐
    • 0          左对齐   
  • width              【可选】指定宽度
  • .precision        【可选】小数点后保留位数
  • typecode        【必选】
    • s           获取对象为str类型
    • r           获取对象是可打印类型
    • c          将数字转换成unicode对应的值
    • x           将整数转换成八进制表示
    • d           将整数转换成十进制表示
    • e           将整数,浮点数转换成科学表示法
test = 'i am %s' %'chen'

test = 'i am %s,age %d' %('hello',21)

test = 'i am %(name)s,age %(age)d' %{"name":'hello',"age":21}

test = 'i am %.2f' %27.22454

test = 'i am %(pp).2f' %{"pp":27.22454}

test = 'i am %(pp).2f  %%' %{"pp":27.22454} #打印百分号

  2.format方式

[[file]align][sign][#][0][width][,][.precision][type]

  • file           【可选】空白处填充字符
  • align           【可选】对齐方式
    • <    内容左对齐
    • >    内容右对齐
    • ^    内容居中               
  • sign             【可选】有无符号数字
    • +          正号加负,负号加正
    • -          正号不变,负号加正
    • 空格        正号空格,符号加负  
  • #                   【可选】对于二进制,八进制,十六进制,如果加上#,会显示0b/0o/0x,否则不显示
  • ,                  【可选】为数字添加分割符
  • width             【可选】格式化位所占宽度
  • .precision       【可选】小数位保留精度
  • type                【可选】格式化类型
    • s          格式化字符串类型
    • 空白        同s  
    • b          将十进制自动转化成二进制然后格式化
    • c          将十进制自动转化成对应的unicode字符
    • d          十进制整数
    • x          将十进制自动转换成十六进制然后格式化(小写x)
    • X         将十进制自动转换成十六进制然后格式化(大写X)
    • e         将数字转换成科学计数法(小写e)
    • E          将数字转换成科学计数法(大写E)
    • f          转换成浮点型(默认小数后6位)
    • F         转换成浮点型(默认小数后6位)
    • g          自动在e和f中切换     
    • G          自动在E和F中切换
    • %          显示百分比(默认显示6位)  
test = 'i am {}'.format("chen")

test = 'i am {},age {}'.format(*["chen",21])#一个*表示传列表

test = 'i am {1},age {0}'.format(21,"chen")

test = 'i am {name}'.format(name="chen")

test = 'i am {name}'.format(**{"name":"chen"})#两个*表示传字典

test = 'i am {0[0]},,age {0[1]}'.format(["chen",21])

test = 'i am {:s},,age {:d}'.format("chen",21)

test = 'i am {:s},,age {:d}'.format(*["chen",21])

test = 'i am {name:s},age {age:d}'.format(name="chen",age=21)

test = 'i am {name:s},age {age:d}'.format(**{"name":"chen","age":21})

test = 'numbers : {:b},{:o},{:d},{:x},{:X},{:%}'.format(15,15,15,15,15,0.15)

test = 'numbers : {0:b},{0:o},{0:d},{0:x},{0:X},{0:%}'.format(15)

test = 'numbers : {num:b},{num:o},{num:d},{num:x},{num:X},{num:%}'.format(num=15)

  

python之路(2)集合(set)和字符串格式化的更多相关文章

  1. 快速理解Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容的区别

    <Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同?>老猿介绍了二者的区别,为了快速理解,老猿在此使用另外一种方式补充说明一下: 1.使用%r是调用objec ...

  2. Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同?

    Python中使用百分号占位符的字符串格式化方法中%s和%r表示需要显示的数据对应变量x会以str(x)还是repr(x)输出内容展示. 关于str和repr的关系请见: <Python中rep ...

  3. Python学习之路——基础篇(1)字符串格式化

    字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式  百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 百分号方式 ...

  4. Python小白学习之路(九)—【字符串格式化】【百分号方式】【format方式】

    写在前面: 最近的事情好像有很多.李咏的离去,让我觉得很突然,仿佛印象中就是主持节目的他,看着他和哈文的爱情,很是感动.离去,没有什么抱怨,只是遗憾. 总会感慨,时光的流逝. 好像真的很快,转眼间,我 ...

  5. python之路-基本数据类型之str字符串

    1.概念 python中用',",''',"""引起来的内容称为字符串,可以保存少量数据并进行相应的操作 #先来看看str的源码写了什么,方法:按ctrl+鼠标 ...

  6. 复习python(条件判断、循环、字符串格式化)

    1.条件判断: 只有一种 if: *** elif:#多个条件加elif,想加几个加几个 **** else: **** python里靠缩进来表示表示语句块,见到冒号,下行就要缩进 2.循环 两种, ...

  7. python之条件判断、循环和字符串格式化

    1. python的条件判断:if和else 在条件判断中可以使用算数运算符 等于:== 不等于:!= 大于:> 小于:< 大于等于:>= 小于等于:<= 示例1: usern ...

  8. Python之循环条件、变量、字符串格式化

    一.认识python python语言的优缺点,自行百度,这里不概述,简单说下,python是一门面向对象,解释型计算机语言.那么问题来了,解释型和编译型语言有什么区别? 1.解释型和编译型语言区别 ...

  9. Python之路 day2 集合的基本操作

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #集合是无序的 集合的关系测试, 增加,删除,查找等操作 ''' #列表去重 ...

随机推荐

  1. Centos7.5 部署postfix邮件系统

    1. Postfix 1.1 邮件服务的介绍 电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务.通过网络的电子邮件系统,用户可以以非常低廉的价格(不管发送到哪里,都只需负担网费) ...

  2. 全民抵制“辱华”品牌秀,D&G神回复:呵呵~ 那不是我!

    ### 补发一下,前写天写的: 就在今天下午,有网友爆出知名品牌 Dolce&Gabbana(杜嘉班纳)的设计师兼创始人Stefano Gabbana在ins上公然发表辱华言论. 下面截图 可 ...

  3. June. 22 2018, Week 25th. Friday

    Where words fail, music speaks. 言语无法表达时,音乐就会响起. From Hans Christian Andersen. Where words fail, musi ...

  4. vue 组件开发、vue自动化工具、axios使用与router的使用(3)

    一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...

  5. python之函数对象、函数嵌套、名称空间与作用域、装饰器

    一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if de ...

  6. 转://linux下的CPU、内存、IO、网络的压力测试工具与方法介绍

    转载地址:http://wushank.blog.51cto.com/3489095/1585927 一.对CPU进行简单测试: 1.通过bc命令计算特别函数 例:计算圆周率 echo "s ...

  7. 这段代码,c 1秒,java 9秒,c# 14秒,而python。。。

    哎,不得不说最近见得键盘侠客太多了,做程序员没两天总是喜欢上嘴唇触天,下嘴唇碰地的吹. 自己分明都没用过几门语言,就对各门语言评头论足说三道四,这么语言多好那门语言有多烂. 可能是随着时间也变得没那么 ...

  8. MySQL RPM二进制安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL RPM二进制安装时间:2019年2月24日内容:MySQL RPM二进制安装重点:MySQL R ...

  9. 打开Player时出现时间格式的错误提示

    安装完Player后如果更改了Windows的系统时间和日期显示格式,再次打开Player后会出现时间日期格式错误的提醒,需要按照要求更改Windows系统设置,才能正常运行Player. 此错误提示 ...

  10. Kubernetes — 深入解析Pod对象:基本概念(二)

    作为 Kubernetes 项目里最核心的编排对象,Pod 携带的信息非常丰富.其中,资源定义(比如 CPU.内存等),以及调度相关的字段.在本篇,我们就先从一种特殊的 Volume 开始,来帮助你更 ...