第一阶段: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)

博客链接

筱久的学习园地

原文地址:https://www.cnblogs.com/foreversun92/p/11304397.html