-
et提供方法判断两个set之间的关系,比如两个集合set,判断其中一个set是否为另外一个set的子集或者超集。
s1 = set([1, 2, 3, 4, 5]) s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9]) # 判断s1是否为s2的子集 s1.issubset(s2) # ==> True # 判断s2是否为s1的超集 s2.issuperset(s1) # ==> True
查看全部 -
除了使用remove()方法删除元素以外,还可以使用discard()方法删除元素,并且,和remove()不同的是,当元素不存在时,使用discard()并不会引发错误,所以使用discard()是更加高效的一个方法。
查看全部 -
set提供了remove()方法允许我们删除set中的元素。
用remove()方法,我们需要格外小心,需要提前判断要remove()的元素是否在set里面,确保存在后,再进行remove。
查看全部 -
只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。
set和list类似,拥有一系列元素,但是set和list不一样,set里面的元素是不允许重复的,而list里面可以包含相同的元素;set与list的另一个区别是,set里面的元素是没有顺序的。查看全部 -
dict提供clear()函数,可以直接清除dict中所有的元素。
查看全部 -
dict提供keys()函数,可以返回dict中所有的key
dict提供values()函数,可以返回dict中所有的value。
查看全部 -
Python3.5之前,dict中的元素是无序的,也就是dict中元素的插入顺序和打印顺序未必一致,但是在Python3.6、Python3.7版本中,却得到了有序的结果
dict是有序的,但是一般而言,为了避免不必要的误解,一般在需要有序的dict时,我们会使用一种叫做Ordereddict的字典,来确保有序。
查看全部 -
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。查看全部 -
使用keys()方法,可以返回dict的所有key
查看全部 -
dict提供便捷的
pop()方法,允许我们快速删除元素,pop()方法需要指定需要删除的元素的key,并返回对应的value查看全部 -
当key不存在时,往dict中添加对应的key: value元素。
当key存在时,会更新dict,用新的value替换原来的value
查看全部 -
dict提供通过key找到对应value的功能,通过
d[key]的形式,就可以得到对应的value。dict本身提供get方法,把key当作参数传递给get方法,就可以获取对应的value,当key不存在时,也不会报错,而是返回None。
print(d.get('Alice')) # ==> 45 print(d.get('Dodo')) # ==> None因为通过get方法在代码实现上更加简单,且不会引起错误,因此更加推荐使用get方法来获取dict的元素
查看全部 -
在dict中,每一项包含一个key和一个value,key和value是一一对应的,在解决上面的问题中,我们可以使用名字作为key,成绩作为value,那么dict的定义如下:
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 }在定义里,我们使用花括号
{}表示这是一个dict,然后key和value之间使用冒号:分割,并且每一组key:value的最后,以逗号,表示这一组的结束。
我们也可以使用以下的方式定义一个dict。d = dict() print(d) # ==> {}查看全部 -
T = (1, 'CH', [3, 4]) L = T[2] print(L) # ==> [3, 4] # 尝试替换L中的元素 L[1] = 40 print(L) # ==> [3, 40] print(T) # ==> (1, 'CH', [3, 40])
这个时候,我们发现,元组T中的第三个元素已经成功被改变了,这就有悖前面的定义,元组是不可改变的。那么这到底是为什么呢?
这是因为虽然tuple中的list元素改变了,但是tuple本身指向的list仍然是同一个list,list本身并没有改变,改变的只是list里面的一个元素,这是tuple所约束不到的范围查看全部 -
改变优先级我们是通过
()来实现的,这和元组的定义有冲突,这就解释了前面只有一个元素的元组,为什么打印出来却得到一个数字的结果了。
因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果(1)被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
因此,要定义只有一个元素的tuple,需要在元素后面添加一个逗号,。查看全部
举报