day10 作业

1. 写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)

def new_sort(list1: list):
    for index in range(len(list1) // 2):
        list1[index], list1[(len(list1) - 1) - index] = list1[(len(list1) - 1) - index], list1[index]
    print(list1)


new_sort([1, 2, 3, 4, 5])

2. 写一个函数,提取出字符串中所有奇数位上的字符

def index_odd(str1):
    for index in range(len(str1)):
        if index & 1 == 1:
            print(str1[index], end='')


index_odd('ssds134fvgd4')

3. 写一个匿名函数,判断指定的年是否是闰年

func1 = lambda year: print('是否是闰年?:', year % 400 == 0)

func1(2000)

4. 写函数,提去字符串中所有的数字字符。 例如: 传入'ahjs233k23sss4k' 返回: '233234'

def num_str(str2: str):
    new_str2 = ''
    for s in str2:
        if '0' < s < '9':
            new_str2 += s
    return new_str2


result = num_str('ahjs233k23sss4k')
print('字符串中所有的数字字符:', result)

5. 写一个函数,获取列表中的成绩的平均值,和最高分

def get_score(list2: list):
    max_score = list2[0]
    sum_score = 0
    for score in list2:
        if score > max_score:
            max_score = score
        sum_score += score
    return max_score, sum_score


list2 = [98, 67, 88, 55]
result = get_score(list2)
max_score1, sum_score1 = result
print('平均值:%.2f, 最高分:%.2f' % (sum_score1 / len(list2), max_score1))

6. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者

def index_odd1(l2):
    list3 = []
    for index in range(len(l2)):
        if index & 1 == 1:
            list3.append(l2[index])
    return list3


result = index_odd1([1, 3, 'adc', 4])
print(result)

7. 实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)

yt_update(字典1, 字典2)

def jl_update(d1: dict, d2: dict):
    for key1 in d1:
        key2 = key1
        d2[key2] = d1[key1]

    return d2


result = jl_update({'s': 2, 'h': 5, 'y': 5}, {1: 3, 'name': 'six'})
print(result)

8. 实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)

yt_items(字典)

例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]

def jl_item(dict3: dict):
    list3 = []
    for key in dict3:
        tuple1 = (key, dict3[key])
        list3.append(tuple1)

    return list3


result = jl_item({'a': 1, 'b': 2, 'c': 3})
print(result)

9. 有一个列表中保存的所一个班的学生信息,使用max函数获取列表中成绩最好的学生信息和年龄最大的学生信息

'''
all_student = [
{'name': '张三', 'age': 19, 'score': 90},
{'name': 'stu1', 'age': 30, 'score': 79},
{'name': 'xiaoming', 'age': 12, 'score': 87},
{'name': 'stu22', 'age': 29, 'score': 99}
]
'''

注意: max和min函数也有参数key

all_student = [
    {'name': '张三', 'age': 19, 'score': 90},
    {'name': 'stu1', 'age': 30, 'score': 79},
    {'name': 'xiaoming', 'age': 12, 'score': 87},
    {'name': 'stu22', 'age': 29, 'score': 99}
]

print('成绩最好的学生', max(all_student, key=lambda item: item['score']))
print('年龄最大的学生', max(all_student, key=lambda item: item['age']))

你可能感兴趣的:(day10 作业)