目录
集合(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
字符串的格式化
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)