zoukankan      html  css  js  c++  java
  • 7.20_python_lx_day8

    一.字典相关函数

    方法一

    1 dic = {}
    2 dic["a"] = "一表人才,除了帅气的皮囊之外,一无所有"
    3 dic['b'] = "渣男"
    4 dic["c"] = "抠脚老汉"
    5 print(dic)#{'a': '一表人才,除了帅气的皮囊之外,一无所有', 'b': '渣男', 'c': '抠脚老汉'}

    方法二

    fromkeys() 使用一组键和默认值创建字典{不推荐:创建的字典值相同}

    1 lst = ["a","b","c"]
    2 dic = {}.fromkeys(lst,None)
    3 print(dic)#{'a': None, 'b': None, 'c': None}

    (1)pop         通过键去删除键值对 (若没有该键可设置默认值,预防报错)

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.pop('a')
    3 print(res)#1
    4 print(dic)#{'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
    5 #res = dic.pop('z') error  报错
    6 res = dic.pop('z','没有这个键')#没有这个键
    7 print(res)#{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}

    (2)popitem   删除最后一个键值对

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.popitem()
    3 print(res) #('f', 6)
    4 print(dic) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

    (3)clear      清空字典

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.clear()
    3 print(res) #None
    4 print(dic) #{}

    update() 批量更新(有该键就更新,没该键就添加)

    方法一

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 dic_new = {'a':111,'e':555,'b':222,'z':999,'h':888}
    3 dic.update(dic_new)
    4 print(dic) #{'a': 111, 'b': 222, 'c': 3, 'd': 4, 'e': 555, 'f': 6, 'z': 999, 'h': 888}

    方法二

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 dic.update('a'= 111,'e'= 555,'b'=222,'z'=999,'h'=888)
    3 print(dic)#{'a': 111, 'b': 222, 'c': 3, 'd': 4, 'e': 555, 'f': 6, 'z': 999, 'h': 888}

    get    通过键获取值(若没有该键可设置默认值,预防报错)

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.get('a')
    3 print(res)#1
    4 res = dic.get('z')
    5 print(res)#None
    6 res = dic.get('z',没有这个键)
    7 print(res)#没有这个键

    重要***

    (1)keys   将字典的键组成新的可迭代对象

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.keys()
    3 print(res)#dict_keys(['a', 'b', 'c', 'd', 'e', 'f'])

    (2)values  将字典中的值组成新的可迭代对象

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.values()
    3 print(res)#dict_values([1, 2, 3, 4, 5, 6])

    (3)items  将字典的键值对凑成一个个元组,组成新的可迭代对象

    1 dic={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
    2 res = dic.items()
    3 print(res)#dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6)])

    二.集合的相关函数和操作

    (1)intersection   交集  简写 &

    1 set1=(1,2,3,4,5)
    2 set2=(6,7,8,9,5)
    3 res = set1.intersection(set2)
    4 print(res)#{5}
    5 res = set1 & set2
    6 print(res)#{5}

    (2)difference   差集  简写 -

    1 set1= {1,2,3,4,5}
    2 set2= {6,7,8,9,5}
    3 res = set1.difference(set2)
    4 print(res)#{1, 2, 3, 4}
    5 res = set1 - set2
    6 print(res)#{1, 2, 3, 4}

    (3)union       并集  简写 |

    1 set1= {1,2,3,4,5}
    2 set2= {6,7,8,9,5}
    3 res = set1.union(set2)
    4 print(res)#{1, 2, 3, 4, 5, 6, 7, 8, 9}
    5 res = set1 | set2
    6 print(res)#{1, 2, 3, 4, 5, 6, 7, 8, 9}

    (4)symmetric_difference 对称差集 (补集情况涵盖在其中)  简写 ^

    1 set1= {1,2,3,4,5}
    2 set2= {6,7,8,9,5}
    3 res = set1.symmetric_difference(set2)
    4 print(res)#{1, 2, 3, 4, 6, 7, 8, 9}
    5 res = set1 ^ set2
    6 print(res)#{1, 2, 3, 4, 6, 7, 8, 9}

    (5)issubset   判断是否是子集  简写 <

    1 set1= {1,2,3}
    2 set2= {1,2,3,4,5,6}
    3 res = set1.issubset(set2)
    4 print(res)#True
    5 res = set1 < set2
    6 print(res)#True

    (6)issuperset 判断是否是父集  简写 >

    1 set1= {1,2,3}
    2 set2= {1,2,3,4,5,6}
    3 res = set2.issuperset(set1)
    4 print(res)#True
    5 res = set2 > set1
    6 print(res)#True

    (7)isdisjoint 检测两集合是否不相交  不相交 True  相交False

     1 set1= {1,2,3}
     2 set2= {1,2,3,4,5,6}
     3 res = set2.isdisjoint(set1)
     4 print(res)#False
     5 #相交返回False
     6 #不想交返回True
     7 set1= {7,8,9}
     8 set2= {1,2,3,4,5,6}
     9 res = set1.isdisjoint(set2)
    10 print(res)#True

    集合相关函数

     (8)add    向集合中添加数据 (一次加一个)

    1 set={'a','b','c'}
    2 set.add('e')
    3 print(set)#{'e', 'c', 'b', 'a'}

    (9)update 迭代着增加 (一次加一堆)

    set={'a','b','c'}
    lst = [1,2,3,4,5,6]
    set.update(lst)
    print(set)#{1, 2, 3, 4, 5, 6, 'c', 'b', 'a'}

    (10)clear  清空集合

    1 set={'a','b','c'}
    2 set.clear()
    3 print(set)#set()

    (11)pop    随机删除集合中的一个数据

    1 set={'a','b','c'}
    2 set.pop()
    3 print(set)#随机删除,结果不定

    (12)remove  删除集合中指定的值(不存在则报错)(了解)

    1 set={'a','b','c'}
    2 set.remove('a')
    3 print(set)#{'b','c'}
    4 
    5 set={'a','b','c'}
    6 set.remove('f')
    7 print(set)#error  报错

    (13)discard 删除集合中指定的值(不存在的不删除 推荐使用)

    1 set={'a','b','c'}
    2 set.discard('a')
    3 print(set)#{'b', 'c'}
    4 
    5 set={'a','b','c'}
    6 set.discard('f')
    7 print(set)#{'a','b', 'c'}  不会报错

    冰冻集合 frozenset

    frozenset 可强转容器类型数据变为冰冻集合

    冰冻集合一旦创建,不能在进行任何修改,只能做交叉并补操作

    1 lst1 = ["lzh",88,"男性","傻逼"]
    2 fz1 = frozenset(lst1)
    3 print(fz1 , type(fz1))#frozenset({88, 'lzh', '傻逼', '男性'}) <class 'frozenset'> 依旧无序
    1 lst2 = ("lzh","地址:bj","买一辆特斯拉9.9包邮")
    2 fz2 = frozenset(lst2)
    3 print(fz2 , type(fz2))#frozenset({'lzh', '地址:bj', '买一辆特斯拉9.9包邮'}) <class 'frozenset'>

    不能够在冰冻集合当中添加或者删除元素

    1 lst2 = ("lzh","地址:bj","买一辆特斯拉9.9包邮")
    2 fz2 = frozenset(lst2)
    3 fz2.add(123) #error 报错 冰冻集合不可添加或删除元素

    只能交差并补

    1 lst2 = ("lzh","地址:bj","买一辆特斯拉9.9包邮")
    2 fz2 = frozenset(lst2)
    3 lst1 = ["lzh",88,"男性","傻逼"]
    4 fz1 = frozenset(lst1)
    5 print( fz1 & fz2 )#frozenset({'lzh'})
    6 print( fz1 - fz2 )#frozenset({88, '傻逼', '男性'})
  • 相关阅读:
    python 学习笔记(四)(流程控制)
    python 写斐波那契数列
    python 部分术语对照表
    python 学习笔记(三)(对前两节的补充)
    python # -*- coding: utf-8 -*-
    写出更好的 JavaScript 条件语句
    PHP消息队列实现及应用
    VUE3.0 路由去掉#号
    php设计模式
    workerman 可能需要用到的函数
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13344724.html
Copyright © 2011-2022 走看看