字符串总结:
字符串的拼接 ''.join(可迭代对象)
+ str 返回一个新字符串
字符串的分割 split partition
().split('',maxsplit=number)
().rsplit('',maxsplit=number)
().splitlines()
().partition('')返回三部分 中间部分为分隔符
字符串大小写
(可迭代对象).upper()
(可迭代对象).lower()
(可迭代对象).swapcase()
字符串的修改
().replace('a')
a = 'www.magedu.com'
a.replace('www','ll')
output: 'll.magedu.com'
strip([chars]) -> str
lstrip([chars]) -> str
从字符串'两端'去除指定的字符集chars中的所有字符
如果chars没有指定,去除'两端的'空白字符
a.strip(' ')
a = ' 00wer234 '
a.strip().lstrip('0')
集set
可变的 无序的 不重复的元素集合 非线性的
s = set () new empty object
s = set (range(5))
s = {} 特例 定义字典%%%%%
s = {1,2} set
s = set() 定义集
s1 = set('a'*5) 返回{'a'}
s2 = {1,2,3,1,2,3} 返回{1,2,3}
s3 = {1,2,'aabc',1}
s3 .add (3) #元组
s3 .add('abcde') #字符串
s3 .add ([1]) 不支持列表
s3.add({2}) 不支持set
s4 = {1,'a',('a',1)}
hash() 内建函数 O(1)
hash(1) hash('a') hash((1,'a'))
元素看能不能hash 用函数试 set dic 列表不可hash
set增加
add 增加一个元素到set
updata 合并其他元素到set集合中来
参数others必须是可迭代对象
就地修改
s2 = {(1,2),1,3,'ab','aabc'}
s2.add(1,2,3)
s2.updata(*abc(可迭代多个对象))
s2 .updata([1,2,3]、{1,3,2})
s2.remove(value) 没有该值 提示:key error 独一无二(unique、key) 就地修改
s2.discard 从set中移除一个元素 元素不存在 不报错
s2.pop() 随机弹出一个元素出来 该元素消失 set减少
set 不需要修改 只能增加或者删除 都是单一元素 不重复的元素集合
非线性结构无法索引 不支持查询
遍历(只要是数据结构都是可以遍历) 可以迭代所有元素
成员运算符 in
小规模的数据结构 列表小规模 用in遍历可以但是规模大 会很慢 %%%%%%%%%%%%%%%%%%%%%%%%%%
规模大可以用set可以频繁使用in
set 最大的特点 依靠hash 用空间换时间
线性结构的查询时间复杂度为 O(n)
可变的类型都不可以hash