01.05 作业

2019-01-05  本文已影响0人  xxxQinli

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

def reverseIter(iterable):
    new_list = []
    for i in range(-1, -len(iterable) - 1, -1):
        new_list.append(iterable[i])
    return new_list

print(reverseIter([1,2,3]))

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

def oddStr(oldstr):
    newstr = ''
    for i in range(0, len(oldstr)):
        if i & 1:
            newstr += oldstr[i]
    return newstr

print(oddStr('abcde'))

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

runyear = lambda x: (x % 4 == 0 and x % 100 != 0) or (x % 400 == 0)

print(runyear(2000))

5. 写函数,提去字符串中所有的数字字符。

例如: 传入'ahjs233k23sss4k' 返回: '233234'

def getAlpha(iterable):
    return ''.join([i for i in iterable if i.isdigit()])

print(getAlpha('ahjs233k23sss4k'))

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

def getAvrgHighScore(iterable):
    return sum(iterable)/len(iterable), max(iterable)

print(getAvrgHighScore([1,3,4,5,2]))

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

def oddIter(iterable):
    new_list = []
    for i in range(1, len(iterable), 2):
        new_list.append(iterable[i])
    return new_list

print(oddIter((1,2,3,4,5,6,7,8)))

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

def newUpdata(dict1, dict2):
    for key, value in dict2.items():
        dict1[key] = value
    return dict1

print(newUpdata({'a': 1,'b': 2}, {1:'a', 2:'b'}))

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

def new_items(dict1):
    new_list = []
    for i in dict1:
        new_list.append((i, dict1[i]))
    return new_list

print(new_items({'a': 1, 'b': 2, 1: 'a', 2: 'b'}))

yt_items(字典)

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

10. 有一个列表中保存的所一个班的学生信息,使用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_score = max(all_student, key = lambda x: x['score'])
max_age = max(all_student, key = lambda x: x['age'])
print(max_score, max_age)

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

上一篇 下一篇

猜你喜欢

热点阅读