码迷,mamicode.com
首页 > 其他好文 > 详细

学习总结2019.3.25

时间:2019-03-27 00:04:01      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:复制   from   sub   none   不可   flag   差集   index   app   

元组 (存多个数据,不可变,有序)

定义:在圆括号内用逗号隔开的多个任意类型数据,元组与列表的
    t = (1, a, (b,2))
    t = (1, )

    常用操作:
    索引取值
    t = (1, 2, 3, 2, 3, 2)
    print(t[1])
    print(t[-2])

    切片
    print(id(t))
    nt = t[:-1:]
    print(nt, id(nt))

    长度(item元素个数)
    print(len(t))

    成员运算(in | not in )

    元组内置方法
    print(t.count(2))  # 该数据集合可以存放相同数据
    print(t.index(2, 2, 3))

    元组中的数据一定不能改变,但是元组中的数据(可变类型)的数据可以改变
    t1 = (1, 2, "abc", True, (1, 2))  # t1永远无法改变
    t2 = (1, 2, [])
    print(t2, type(t2), id(t2), id(t2[2]))
    t2[2].extend((10, 20))
    print(t2, type(t2), id(t2), id(t2[2]))

字典 (存多个数据,无序,可变)

定义:花括号内用逗号分隔开的多组key:value元素
    dict的key:可以为所以不可变类型:int float tuple str bool None, 一般就采用字符串
    dict的value:可以为所以数据类型
    注:key具有唯一性(重复会覆盖旧值),value可以重复

    字典的常用操作:
    增/改/查:
    dic[key] = value
    dic.update({key1:value1,key2:value2......})   添加的参数字典,与dic可以重复,
    就是更新值,新key就是新增
    dic.setdefault(key,value)   key存在不进行操作,key不存在则将key:value存入字典

    删:
    del dic[key]
    dic.pop(key)  删除并返回key
    dic.popitem()  随机删除一组key:value,并返回值

    复制:dic.copy(浅拷贝)
    d1 = {list: [1, 2]}
    d2 = d1.copy()
    print(id(d1), id(d1[list]))
    print(id(d2), id(d2[list]))
    d1[list].append(abc)
    print(d2)

    定义空字典:fromkeys
    第一个参数:keys:list|tuple|str,第二个参数:统一的默认value
    d10 = {}.fromkeys([a, b, c], ‘‘)
    print(d10)  # {a: ‘‘, b: ‘‘, c: ‘‘}

    dic.keys()    # 存放key的集合
    dic.values()    # 存放value的集合
    dic.items()     # 存放key-value的键值对关系的集合
    以上得到的集合不是原生list,无法索引取值,但是可以for循环取值

集合(set) (存多个值,无序,可变),主要用于去重

定义:花括号内用逗号隔开的多个任意类型数据,但数据具有 唯一性
    s1 = set()  # 创建空集合
    s2 = set(abc10,True)

    内置方法与使用:
    集合间的运算:(& | ^ - > < ==)
    p_set = {a, b, c, egon}
    l_set = {x, y, z, egon}

    交集 & / intersection
    res = p_set & l_set    # {egon}

    并集  |  /  union
    res = p_set | l_set     # {z, c, y, x, b, a, egon}

    差集  -  /  difference
    res = p_set - l_set     # {x, z, y}

    对称差集   ^  /  symmetric-difference
    res = p_set ^ l_set    # {y, a, b, x, z, c}

    p_set.difference_update(l_set)  # 将运算结果赋值给调用者
    p_set = p_set - l_set
    print(p_set)  # {c, a, b}
    print(l_set)  # {egon, z, y, x}

    添加和删除操作:add  /  pop  /remove
    s = set()
    s.add(abc)
    s.pop()   # 随机删除一个ele元素
    s.remove  # 有ele删除,无ele抛异常

    父子集:
    sup_set = {1, 2, 3, 4, 5}
    sub_set = {1, 2, 3}
    temp_set = {3, 2, 1}
    flag_set = {7, 8, 9}

    print(sup_set > sub_set)
    print(sup_set < sub_set)
    print(temp_set == sub_set)

    isdisjoint 判断两个集合是否没有交集
    res = flag_set.isdisjoint(temp_set)
    print(res)
    res = temp_set.isdisjoint(sup_set)
    print(res)

学习总结2019.3.25

标签:复制   from   sub   none   不可   flag   差集   index   app   

原文地址:https://www.cnblogs.com/penghengshan/p/10604720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!