美文网首页程序员
day08 set的功能,创建方法。和字典的创建其他方法及字典的

day08 set的功能,创建方法。和字典的创建其他方法及字典的

作者: AAA年华 | 来源:发表于2017-11-01 17:49 被阅读0次

    set的创建方法和字典的创建方法

    '''

    set 是一个无序的、不重复的集合容器。会自动过滤重复的元素。

    set的创建方法:1、set() -> new empty set object

    2、set(iterable) -> new set object

    注:创建一个空的set,不能set1={},因为这表示的是一个字典。

    '''

    #创建一个长度为0的set

    set1=set()

    print(set1)

    print(type(set1))

    print(len(set1))

    #set的自动去重复

    set1={1,2,3,1,2}

    print(set1)

    #set后面加一个可迭代的,可以直接创建set

    set2=set([0,1,2,0,1])

    print(set2)

    set2=set('abc')

    print(set2)

    print('*********************华丽的分割线*********************')

    '''

    字典的创建方法:

    |  dict() -> new empty dictionary

    |  dict(mapping) -> new dictionary initialized from a mapping object's

    |      (key, value) pairs

    |  dict(iterable) -> new dictionary initialized as if via:

    |      d = {}

    |      for k, v in iterable:

    |          d[k] = v

    |  dict(**kwargs) -> new dictionary initialized with the name=value pairs

    |      in the keyword argument list.  For example:  dict(one=1, two=2)

    '''

    #dict()

    infos1 = {'a':1,'b':2}

    print(type(infos1))

    infos2 = dict(infos1)

    print(infos2)

    #dict(iterable)

    infos1 = [('a',1),('b',2)]

    print(dict(infos1))

    for m,n in infos1:

    print('m=%s,n=%s'%(m,n))

    #dict(**kwargs)

    infos1=dict(one=1, two=2)

    print(infos1)

    #set也是可以遍历的。

    mySet = {1,2,3,4}

    for i in mySet:

    print(i)

    set的功能

    #set.add()新增

    set1={0,1,2}

    set1.add(6)

    print(set1)

    #set.remove()移除

    set2={1,2,3}

    set2.remove(1)

    print(set2)

    #set 的并,交,差,得到的是一个新的集合set,不改变原来的。

    set1={0,1,2}

    set2={1,2,3}

    print(set1 | set2)

    print(set1 & set2)

    print(set1 - set2)

    print(set1)

    print(set2)

    #set的其他功能,作为了解即可。

    #1、set.update(x)将集合x并入原集合s中,

    #x 还可以是列表,元组,字典等,x 可以有多个,用逗号分开

    set1={0,1,2}

    set2={1,2,3}

    set3=[5,6]

    set1.update(set2,set3)

    print(set1)

    #2、set.discard( x )将 x 从集合s中移除,x只能为元素,

    #若x不存在,那么什么也不做(do nithing),不会报错。

    set1={0,1,2}

    #set1.discard(0)

    print('aaaaaaaaaaaaaa')

    set1.discard(5)

    print(set1)

    #3、pop()随机删除并返回集合s中某个值

    set1={0,1,2}

    a=set1.pop()

    print(a)

    #4、clear() 清空所有的set内的元素

    set1={0,1,2}

    set1.clear()

    print(set1)

    #5、判断 x in s  set同样支持in操作  结果是True时,x是元素。

    set1={0,1,2}

    set2={0}

    print(0 in set1)

    print(set2 in set1)

    #6、union(x) 并集 得到的是一个新的集合set,不改变原来的

    set1={0,1,2}

    set2={1,2,3}

    print(set1.union(set2))

    print(set1)

    #7、intersection(x) 交集 得到的是一个新的集合set,不改变原来的

    set1={0,1,2}

    set2={1,2,3}

    print(set1.intersection(set2))

    print(set1)

    #8、difference(x) 差集 得到的是一个新的集合set,不改变原来的

    set1={0,1,2}

    set2={1,2,3}

    print(set1.difference(set2))

    print(set1)

    #9、s.issubset(x)  判断 集合s 是否是 集合x 子集

    set1={0,1,2,3}

    set2={1,2,3}

    print(set2.issubset(set1))

    #10、x.issuperset( s ) 判断 集合s 是否是集合x的子集

    set1={0,1,2,3}

    set2={1,2,3}

    print(set1.issuperset(set2))

    字典的其他方法

    '''

    字典的复制dict.copy(),内容一样,地址不相同。

    判断内容是否相同:==

    判断地址是否相同:is

    查看地址用 id

    '''

    di1={'name':'年华','age':18,'sex':'男'}

    di2=di1.copy()

    print(di1)

    print(di2)

    print(id(di1))

    print(id(di2))

    print(id(di1)==id(di2))

    print(di1==di2)

    print(di1 is di2)

    print('*'*60)

    '''

    dict.fromkeys(seq[, val]))

    seq表示可以迭代的,eg列表、字符串、元组。vaule默认值为None

    '''

    di1={'name':'年华','age':18,'sex':'男'}

    ls=[1,2,3]

    a=di1.fromkeys(ls)

    print(a)

    b=di1.fromkeys(ls,'年华')

    print(b)

    str1='jkl'

    a=di1.fromkeys(str1)

    print(a)

    b=di1.fromkeys(str1,'年华')

    print(b)

    '''

    dict.setdefault(key, default=None),

    如果有这个键,则返回字典里的值。

    如果没有这个键,则返回default。

    '''

    di1={'name':'年华','age':18,'sex':'男'}

    a=di1.setdefault('name','哈哈')

    print(a)

    print(di1)

    a=di1.setdefault('hobby','呵呵')

    print(a)

    print(di1)

    '''

    dict.update(dict2):把字典dict2中的键值对更新到dict

    '''

    di1={'name':'哈哈'}

    di2={'age':20}

    di1.update(di2)

    print(di1)

    print(di2)

    '''

    字典与列表的对比:

    字典特点:1、查找速度快,不会随着键的增加而变慢。

    2、需要占用大量的内存,因为字典存的是键值对。内存浪费多。

    列表的特点:1、查找和插入的时间随着元素的增加而增加。查找的速度慢。

    2、占用的空间小,浪费内存较小。

    '''

    相关文章

      网友评论

        本文标题:day08 set的功能,创建方法。和字典的创建其他方法及字典的

        本文链接:https://www.haomeiwen.com/subject/fergpxtx.html