zoukankan      html  css  js  c++  java
  • Task05:字典、集合和序列


    练习题

    字典

    1、字典基本操作

    字典内容如下:

    dic = {
        'python': 95,
        'java': 99,
        'c': 100
        }
    

    用程序解答下面的题目

    • 字典的长度是多少
    3
    
    • 请修改'java' 这个key对应的value值为98
    dic['java']=98
    
    • 删除 c 这个key
    dic.pop('c',10)
    
    • 增加一个key-value对,key值为 php, value是90
    dic['php']=90
    
    • 获取所有的key值,存储在列表里
    lst = list(dic.keys()) 
    
    • 获取所有的value值,存储在列表里
    lst2= list(dic.values()) 
    
    • 判断 javascript 是否在字典中
    if 'javascript' in dic:
        print("键 javascript 存在")
    else:
        print("键 javascript 不存在")
    
    • 获得字典里所有value 的和
    sum(lst2)
    
    • 获取字典里最大的value
    max(lst2)
    
    • 获取字典里最小的value
    min(lst2)
    
    • 字典 dic1 = {'php': 97}, 将dic1的数据更新到dic中
    dic.update(dic1)
    

    2、字典中的value

    有一个字典,保存的是学生各个编程语言的成绩,内容如下

    data = {
            'python': {'上学期': '90', '下学期': '95'},
            'c++': ['95', '96', '97'],
            'java': [{'月考':'90', '期中考试': '94', '期末考试': '98'}]
            }
    

    各门课程的考试成绩存储方式并不相同,有的用字典,有的用列表,但是分数都是字符串类型,请实现函数transfer_score(score_dict),将分数修改成int类型

       
    import pprint
    
    
    def transfer_score(data):
        # 如果data是字典
        if isinstance(data, dict):
            for key, value in data.items():
                data[key] = transfer_score(value)
            return data
    
        # 如果data 是列表
        if isinstance(data, list):
            data_lst = []
            for item in data:
                data_lst.append(transfer_score(item))
    
            return data_lst
    
        if isinstance(data, str):
            return int(data)
    
    
    if __name__ == '__main__':
        data = {
            'python': {'上学期': '90', '下学期': '95'},
            'c++': ['95', '96', '97'],
            'java': [{'月考': '90', '期中考试': '94', '期末考试': '98'}]
        }
    
        data = transfer_score(data)
        pprint.pprint(data)
    
    
    

    集合

    1. 怎么表示只包含⼀个数字1的元组。
    tup1 = (1)
    
    1. 创建一个空集合,增加 {‘x’,‘y’,‘z’} 三个元素。
    a = {}
    a.add("x")
    a.add("x")
    a.add("z")
    
    1. 列表['A', 'B', 'A', 'B']去重。
    a = {'A', 'B', 'A', 'B'}
    
    1. 求两个集合{6, 7, 8},{7, 8, 9}中不重复的元素(差集指的是两个集合交集外的部分)。
    a = {7,8,9}
    b = {6,7,8}
    c = a.intersection(b)
    d = a.union(b)
    d -c 
    
    1. 求{'A', 'B', 'C'}中元素在 {'B', 'C', 'D'}中出现的次数。
    a = {'A', 'B', 'C'}
    b = {'B', 'C', 'D'}
    count = 0
    for i in a :
        if i in b:
            count+=1
            print("%s出现次数"%i)
            print(count)
            count  = 0 
    

    序列

    1. 怎么找出序列中的最⼤、⼩值?
    min()
    max()
    
    1. sort() 和 sorted() 区别
    sorted() 函数对所有可迭代的对象进行排序操作
    sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数
    
    1. 怎么快速求 1 到 100 所有整数相加之和?
    x = [i for i in range(0,101) ]
    sum(x)
    
    1. 求列表 [2,3,4,5] 中每个元素的立方根。
    a = [2,3,4,5] 
    for i in range(len(a)) :
        a[i] = a[i]**3
    
    1. 将[‘x’,‘y’,‘z’] 和 [1,2,3] 转成 [(‘x’,1),(‘y’,2),(‘z’,3)] 的形式。
    
    a = ['x', 'y', 'z']
    b =  [1,2,3] 
    zipped = zip(a, b)
    
    print(list(zipped))
    
  • 相关阅读:
    Codeforces 437B The Child and Set
    玩游戏学前端——猜颜色、选择器
    Project Euler:Problem 55 Lychrel numbers
    OpenCV LDA(Linnear Discriminant analysis)类的使用---OpenCV LDA演示样例
    arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)
    【hash】什么是hash,什么是哈希,什么是hash散列,什么是hash一致性算法【关于hash的详解】
    【spring cloud】对接口调用者提供API使用的安全验证微服务【这里仅通过代码展示一种设计思想】【后续可以加入redis限流的功能,某段时间某个IP可以访问API几次】
    【spring boot】在自定义拦截器中从request中获取json字符串
    【IntellJ IDEA】idea忽略隐藏文件、文件夹的设置操作
    【svn】idea上svn 忽略文件不提交
  • 原文地址:https://www.cnblogs.com/chenweibo/p/13412674.html
Copyright © 2011-2022 走看看