python 中字典(dict)和集合(set)的详细说明

字典(dict)

一、定义字典

  • 定义一个空字典:

    dict = {}
    
  • 定义一个非空字典:

    字典的每个键值对 (key=>value) 用冒号 : 表示,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中:

    dict = {key1 : value1, key2 : value2, key3 : value3 }
    

在这里插入图片描述

  • 使用内置函数 dict() 来创建字典:

    https://www.runoob.com/python/python-func-dict.html
    
  • 直接定义多维字典:

    dict = {key1 : value1, 
            key2 : {key4 : value4}, 
            key3 : value3}
    
  • 间接定义多维字典(字典嵌套):

    dict2 = {'key4' : 4}
    
    dict1 = {'key1' : 1,
            'key2' : dict2, 
            'key3' : 3 }
    print(dict1)
    ——————————————————————————————————————————————————————————————————
    #输出结果为:
    {'key1': 1, 'key2': {'key4': 4}, 'key3': 3}
    

二、键值对的特性与限制

字典的值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的;

但键不行,不可变的才可以作为键。但是两者都要注意大小写。

  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值才会被记住:

    tinydict = {'Name': 'David', 'Age': 7,'Name': 'Jack'}
    print(tinydict['Name'])
    ——————————————————————————————————————————————————————————————————
    #输出结果为:
    Jack
    
  • 必须不可变,所以可以字符串、数值、布尔、元组等,而用列表就不行:
    而字典的值并没有限制,任意我们学的类型都可以作为值,包括复杂的列表/字典等等。

  • 在 Python 3.7 及之后的版本中,字典就是有序的

三、访问

字典是通过键(Key)值访问,索引在字典中是无意义的;

把相应的键放入到方括号 [] 中。

tinydict = {'Name': 'David', 'Age': 7}
 
print (tinydict['Name'])
print (tinydict['Age'])
——————————————————————————————————————————————————————————————————
#输出结果为:
David
7

四、增、彻删、改、其他

  • 增:

    tinydict = {'Name': 'David', 'Age': 7}
    tinydict['School'] = "CSDN"  # 添加信息
    print(tinydict['School'])
    ——————————————————————————————————————————————————————————————————
    #输出结果为:
    CSDN
    
  • 删:

    可以用 del 删除键、彻底删除字典,在“其他”中有比较轻度的删除。

    tinydict = {'Name': 'David', 'Age': 7} 
    del tinydict['Name'] # 彻底删除键 'Name'
    del tinydict         # 彻底删除字典
    

    删除对应键之后,其内容也随之删除。

  • 改:

    tinydict = {'Name': 'David', 'Age': 7}
    tinydict['Age'] = 8 # 更新 Age
    print ("tinydict['Age']: ", tinydict['Age'])
    ——————————————————————————————————————————————————————————————————
    #输出结果为:
    8
    
  • 其他:

    序号函数及描述(dict就是自定义的字典名)
    1dict.clear()
    删除字典内所有元素
    2dict.copy()
    返回一个字典的浅复制
    4dict.get(key, default=None)
    返回指定键的值,如果键不在字典中返回 default 设置的默认值
    5key in dict
    如果键在字典dict里返回true,否则返回false
    8dict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    9dict.update(dict2)
    把字典dict2的键/值对更新到dict里
    11dict.pop(key,default)
    删除字典 key(键)所对应的值,返回被删除的值。
    12dict.popitem()
    返回并删除字典中的最后一对键和值。

=================================================================================================

集合(set)

集合(set)是一个无序 的不重复元素序列(在数学中,集合的英文就是 set )。

集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

一、定义集合

可以使用大括号 {} 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数将列表或元组变成集合:

  • 创建一个空集合:

    set1 = set()
    

    创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  • 创建一个非空集合:

    set1 = {1, 2, 3, 4}            # 直接使用大括号创建集合
    set2 = set([4, 5, 6, 7])      # 使用 set() 函数从列表创建集合
    

二、基本操作:

  1. 添加元素:

    • 方法一:

      一次只能添加一个元素。

      set.add(value_new)
      #将元素 value_new 添加到集合 set 中,如果元素已存在,则不进行任何操作。
      
    • 方法二:

      一次可以添加多个元素。

      set.update(value1,value2)
      
  2. 移出元素:

    • 方法一:

      将元素 value 从集合 set 中移除,如果元素不存在,则会报错

      set.remove(value)
      
    • 方法二:

      如果元素不存在不会报错

      set.discard(value)
      
    • 方法三:

      随机删除一个元素,set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

      set.pop(value)
      
  3. 清空集合:

    set.clear()
    
  4. 判断某元素是否在集合中:

    value in set
    

    示例:

    >>> thisset = set(("Google", "Runoob", "Taobao"))
    >>> "Runoob" in thisset
    True
    >>> "Facebook" in thisset
    False
    
  5. 其他:

    https://www.runoob.com/python3/python3-set.html
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值