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']))