内置数据结构集合和字典

集合(无序不重复数列)

集合的创建

  • 使用大括号 { } 或者 set() 函数创建集合;
  • 注意:
    1. 创建一个空集合必须用 set() 而不是 { }
    2. { } 是用来创建一个空字典。
  • 示例:在这里插入图片描述

对集合内容的添加

  • add() 添加单个元素
  • update() 添加多个元素
  • 示例在这里插入图片描述

对集合的内容进行删除

  • remove() 移除集合内的指定元素
  • pop() 随机移除集合内的某个元素
  • clear() 移除集合中的所有元素
  • 示例:
    在这里插入图片描述
  • 对两个集合求交集和并集
  • & 交集
  • | 并集
  • 示例  注:不支持重复和连接,也不支持索引和切片,支持成员操作符和for循环

字典(由多个key-value键值对组成的数据集)

特性:不支持重复和连接,也不支持索引和切片,支持成员操作符和for循环

字典的创建

  • 空字典 {}
  • 书写格式
    {key1:value, key2:value2, …}
    字典生成式:d = {i:i.upper() for i in 'abcde'}
  • 示例在这里插入图片描述

对字典内容的更新或者添加

  • d[key]='value' 直接对字典里的指定Key更新, 如果key不存在则会添加该键值对
  • update() 对字典中的多个键值对进行操作
  • 示例在这里插入图片描述

对字典内容的查看

  • keys()查看字典中所有的key值
  • values()查看字典中所有的value值
  • items()查看字典中所有的键值对
  • d['key']查看字典中指定Key值对应的value值
  • 示例
    在这里插入图片描述

对字典内容删除

  • pop(key) 对指定的key值删除,会返回删除的key值
  • clear() 将字典清空
  • 示例在这里插入图片描述

实例

  1. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从大到小排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。

    代码:

    import random
    N = int(input('随机生成数的个数:'))
    item = [random.randint(1, 1000) for i in range(N)]
    item = set(item)
    item = sorted(item)
    print(item[::-1]# 用切片的方法实现降序,也可以用sorted函数实现降序item = sorted(item, reverse=True)
    

    测试:在这里插入图片描述

  2. 写一个函数wordcount统计一篇文章的每个单词出现的次数(词频统计)。统计完成后,对该统计按单词频次进行排序。
    代码

     Word = input('WORD:')
    Word_sum = {}
    for i in Word.split():
        if i in Word_sum:
            Word_sum[i] += 1     # 通过key获得对应的values
        else:
            Word_sum.update({i: 1})
    else:
        print(Word_sum)

    测试:
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值