tup=(2,3,4)
tup.count(a)
:统计元素a在元组中出现的次数list=[2,3,5,none]
list.append(a)
:将元素a添加到列表list末尾;list.insert(index,a)
:将元素a添加到指定的索引index位置;list.pop(index)
:将指定的索引index位置的元素移除并返回该元素;list.remove(a)
:将列表中第一次出现的a元素删除list.extend(a)
:将a追加到列表当中,a可以为其他数据类型,这样拓展速度比使用"+"连接速度快,因为不用重新创建列表list.sort()
:将列表重新排序,不创建新对象sorted(a)
:将a有序排列,返回新对象在列表中检索速度比字典和集合速度慢,因为列表是线性搜索,而在字典和集合中,是基于哈希表的检索,在同一时间内还可以检查其他项
bisect
模块支持二分查找,和向已排序的列表插入值。
bisect.bisect(list_name,element)
: 找到插入值后仍保证排序的位置
bisect。insort(list,index)
:向列表中index位置插入值
import bisect c=[1,2,2,2,3,4,7] print(bisect.bisect(c,2)) #out:4 pirnt(bisect.bisect(c,5) #out :6 bisect.insort(c,6) print(c) #out :[1,2,2,2,3,4,6,7]
enumerate函数
: 可以返回元组序列;
some_list=['foo','bar','baz'] mapping={} for i ,v in enumerate(some_list): mapping[v]=i print(mapping) #out:{'bar':1,'baz':2;'foo':0}
zip
函数:
zip函数可以将多个列表、元组或其他序列晨读组合城一个元组列表:
seq1=['foo','bar','baz'] seq2=['one','two','three'] zipped=zip(seq1,seq2) list(zipped) # out :[('foo','noe'),('bar','two'),('baz','three')]
zip函数还可以用来解压缩处理:
newseq1,newseq2=zip(*zipped) print(newseq1) #newseq1=['foo','bar','baz'] print(newseq2) #newseq2=['one','two','three']
reversed
函数:从后向前迭代一个列表。该方法时一个生成器。
可以使用del
关键字或pop
方法删除值
del dic[key]
: 删除key键和其对应的值
dic.pop(key)
:功能同上,返回返回删除的值。
可以用update
方法一个字典与另一个字典融合:
d1.update(d2)
:将d2中的键值对与d1合并,相同的键,不同的值,由b2覆盖b1的值。
创建方法:
#方法1: a=set([1,1,2,3,4,5,6,3,4]) print(a) #a={1,2,3,4,5,6} 方法2: a={1,2,3,4,4,4,5,6}#两者等价
集合的运算:支持合并、交集、差分、对称差等数据集合运算
合并:取两个集合中不重复的元素,可以用union
方法或者|
运算符
交集:取两个集合中的相同元素,可以使用intersection
或者&
运算符
a.add(x)
添加x到集合a中a.clear()
将a集合清空a.remove(x)
移除集合中的x元素a.pop()
取出集合中的第一个元素a.union(b)
a和b的并集a.update(b)
将b中的元素与a合并a.intersection(b)
交集a.intersection_update(b)
将a中的元素设置为交集a.difference(b)
存在于a但不存在于b的元素a.difference_update(b)
将a中元素设置为a和b的差集a.symetric_difference(b)
只在a或者只在b的元素a.symetric_difference——update(b)
:类比上面方法a.issubset(b)
:判断a是否为b的子集,是则返回truea.issuperset(b)
判断b是否为a的子集,是则返回truea.isdisjoint(b)
判断a和b是否无交集,是则返回true