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))
    
  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/chenweibo/p/13412674.html
Copyright © 2011-2022 走看看