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