zoukankan      html  css  js  c++  java
  • 第一阶段:Python开发基础 day08 数据类型的内置方法 课后作业

    1.有如下值集合,按要求处理数据

    [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中,结果为{'k1': 大于66的所有值, 'k2': 小于66的所有值}

    代码如下:

    nums = [11,22,33,44,55,66,77,88,99,90]
    k1_list = []
    k2_list = []
    for i in nums:
        if i > 66:
            k1_list.append(i)
        elif i < 66:
            k2_list.append(i)
    nums_dict = {'k1':k1_list,'k2':k2_list}
    print(nums_dict)
    

    运行结果:

    {'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55]}

    2.对以下字符串进行处理

    统计s='hello jason tank tank jason sean say hello dsb dsb sb'中每个单词的个数,结果为{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}

    代码如下:

    s='hello jason tank tank jason sean say hello dsb dsb sb'
    s = s.split(' ')
    s_dict ={}
    for i in s:
        if i in s_dict.keys():
            s_dict[i] += 1
        else:
            s_dict[i] = 1
    print(s_dict)
    

    运行结果:

    {'hello': 2, 'jason': 2, 'tank': 2, 'sean': 1, 'say': 1, 'dsb': 2, 'sb': 1}

    3.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合

    题目要求:

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}`
    
    linuxs={'wupeiqi','oldboy','gangdan'}
    
    1. 求出即报名python又报名linux课程的学员名字集合
    2. 求出所有报名的学生名字集合
    3. 求出只报名python课程的学员名字
    

    程序代码:

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    linuxs={'wupeiqi','oldboy','gangdan'}
    
    # 即报名python又报名linux课程的学员名字
    py_lin = pythons & linuxs
    print(py_lin)
    
    # 所有报名的学院名字
    all_list = pythons | linuxs
    print(all_list)
    
    # 求出只报名python课程学员名字
    only_py = pythons - linuxs
    print(only_py)
    

    运行结果:

    {'wupeiqi', 'gangdan'}
    {'alex', 'biubiu', 'egon', 'wupeiqi', 'gangdan', 'yuanhao', 'oldboy'}
    {'yuanhao', 'alex', 'biubiu', 'egon'}

    4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序

    l=[
        {'name':'egon','age':18,'sex':'male'},
        {'name':'alex','age':73,'sex':'male'},
        {'name':'egon','age':20,'sex':'female'},
        {'name':'egon','age':18,'sex':'male'},
        {'name':'egon','age':18,'sex':'male'},
    ] 
    

    程序代码:

    # 方法一
    l=[
        {'name':'egon','age':18,'sex':'male'},
        {'name':'alex','age':73,'sex':'male'},
        {'name':'egon','age':20,'sex':'female'},
        {'name':'egon','age':18,'sex':'male'},
        {'name':'egon','age':18,'sex':'male'},
    ]
    l_dict = {}  # 定义一个空的字典  用于存放l元素下标以及元素内容
    index = 0    # 定义一个变量用于存放索引
    # 循环列表,将去重后的数据放入字典中
    for i in l:
        # 如果列表元素已经在字典中出现过就跳过
        if i in l_dict.values() :
            continue
        else:
            # 如果没出现过就将这个元素放入到字典中
            l_dict.setdefault(index,i)
            # 放入之后索引值 +1
            index += 1
    # 定义一个新的列表
    new_list = []
    # 将字典中的值按照原有位置重新放入新的列表中
    for i in l_dict.keys():
        new_list.append(l_dict[i])
    print(new_list)
    
    
    # 改进版
    l=[
        {'name':'egon','age':18,'sex':'male'},
        {'name':'alex','age':73,'sex':'male'},
        {'name':'egon','age':20,'sex':'female'},
        {'name':'egon','age':18,'sex':'male'},
        {'name':'egon','age':18,'sex':'male'},
    ]
    new_list = []  # 定义一个新列表
    # 循环原有列表
    for i in l :
        # 如果原有列表中的元素不在新的列表中
        if i not in new_list :
            # 将这个元素放入列表中
            new_list.append(i)
    print(new_list)
    

    博客链接

    筱久的学习园地

  • 相关阅读:
    前端学习(1)~html标签讲解(一)
    前端学习(0)~vscode工具使用
    微服务之部署
    分解单块系统
    c#之线程基础(一)
    如何在windows 7 上使用docker
    CodeForces 995B Suit and Tie(贪心,暴力)
    CodeForces 993B Open Communication(STL 模拟)
    CodeForces 993A Two Squares(数学 几何)
    CodeForces 996B World Cup(思维)
  • 原文地址:https://www.cnblogs.com/foreversun92/p/11304397.html
Copyright © 2011-2022 走看看