字典和集合

2018-08-21  本文已影响0人  Snackk

dict :

 key:不可变(可哈希)的数据类型

        value:任意数据类型,对象。

        大量的数据,关系型数据。查询速度非常快

        python3.5包含3.5之前,字典无序的。

        python3.6以后,字典是有序的。

        dic = {'name':'taibai'}

        增:

            dic['age'] = 18  #有责改之,无责增加

            dic.setdefault(key,value)  #有则不变,无责增加

        删:

            pop按照键去删除 有返回值

            dic.pop('name2',None)  不指定默认值找不到会报错

            clear清空

            del

                del dic['name']

                del dic

            popitem()有返回值

                python3.5包含3.5之前,字典无序的。 随机删除

                python3.6以后,字典是有序的。 默认删除最后一个。

        改:

            dic['name'] = 'alex'

            update(字典)

            update(sex='man')

        查:

            按键去查

                dic['name']

                dic['name1']

                dic.get('name')找不到不会报错

            dic.keys() dic.values() dic.items()都可以遍历,都可以转化成list

在循环一个字典时,不能改变字典的大小 

集合:>>>>set

        集合要求里面的元素必须是不可变的数据类型,但是集合本身是可变的数据类型。

        集合里面的元素不重复(天然去重),无序。

            1,去重。

            2,关系测试。

交集

(set1 & set2)

(set1.intersection(set2)

 

并集

(set1 | set2)

(set1.union (set2)

 

交叉并集

(set1 ^ set2)

(set1. symmetric_difference(set2))

 

差集

(set1 - set2)

(set1.difference(set2))

 

子集

 (set1 < set2)

 (set1.issubset(set2))

 

父集

(set2 > set1)

(set2.issuperset(set1))

 

frozenset : 不可变集合

s = frozenset('barry')

print(s,type(s))

 #frozenset({'a', 'y', 'b', 'r'})

 

删除

discard  不存在不会报错

remove    不存在会报错

pop

 

增加

add

update 迭代对象

isdisjoint 判断是否是相交集

上一篇 下一篇

猜你喜欢

热点阅读