2019-01-05 day 10作業
4328 ワード
1.指定されたリスト内の要素を逆順にする関数を書きます([1,2,3]->「[3,2,1])([注意:リストに持つ逆順関数を使用しないでください]).
2.関数を書き、文字列内のすべての奇数ビットの文字を抽出する
3.指定した年が閏かどうかを判断する匿名関数を書く
5.関数を書き込み、文字列内のすべての数値文字を抽出します.例えば、受信'ahjs 233 k 23 sss 4 k'戻り:'233234'
6.関数を書いて、リストの成績の平均値と最高点を取得します.
7.関数を書き込み、入力リストまたはメタグループオブジェクトのすべての奇数ビットインデックスに対応する要素をチェックし、新しいリストとして呼び出し元に返します.
8.独自の辞書updateメソッドを実装する:別の辞書の要素を1つの辞書で更新する(独自のupdateメソッドは使用できない)yt_update(辞書1,辞書2)
9.独自のitemsメソッドを実装する:辞書をリストに変換し、辞書のキー値ペアを元祖に変換する.(itemsメソッドは使用できません)yt_items(辞書)例えば、{'a':1,'b':2,'c':3}--->[('a',1),('b',2),('c',3)]]
10.リストに保存されているクラスの学生情報があり、max関数を使用してリストの成績が最も良い学生情報と年齢が最も大きい学生情報を取得します.
def my_reverse(list1: list):
list2 = []
count = 0
while count < len(list1)+len(list2):
index = len(list1)-1
list2.append(list1[index])
del list1[index]
count += 1
print(' :', list2)
# return list2
list1 = [1, 2, 3, 4, 5, 'a', 6]
my_reverse(list1)
# list1 = my_reverse(list1)
# print(list1)
2.関数を書き、文字列内のすべての奇数ビットの文字を抽出する
def get_odd_number(str1: str):
for index in range(1, len(str1), 2):
print(' :', str1[index])
get_odd_number('1234567')
3.指定した年が閏かどうかを判断する匿名関数を書く
def leap_year(num: int):
if num % 4 == 0 and num % 100 != 0 or num % 400 == 0:
print('%d ' %num)
else:
print('%d ' %num)
leap_year(2000)
leap_year(1990)
5.関数を書き込み、文字列内のすべての数値文字を抽出します.例えば、受信'ahjs 233 k 23 sss 4 k'戻り:'233234'
def del_num(str1: str):
str2 = ''
for char in str1:
if '0' <= char <= '9':
str2 += char
print(' :', str2)
del_num('ahjs233k23sss4k')
6.関数を書いて、リストの成績の平均値と最高点を取得します.
# 1
def average_maximum1(list1: list):
print(' :', sum(list1) / len(list1))
print(' :', max(list1))
average_maximum1([3, 4, 5, 6])
# 2
all_students = [
{'name': ' ', 'age': 19, 'score': 94},
{'name': ' ', 'age': 34, 'score': 70},
{'name': ' ', 'age': 12, 'score': 45},
{'name': ' ', 'age': 45, 'score': 76},
]
def average_maximum2(list1: list):
sum1 = 0
list2 = []
for item in list1:
sum1 += item['score']
list2.append(item['score'])
average = sum1/len(list1)
maximum = max(list2)
print(' :', average)
print(' :', maximum)
average_maximum2(all_students)
7.関数を書き込み、入力リストまたはメタグループオブジェクトのすべての奇数ビットインデックスに対応する要素をチェックし、新しいリストとして呼び出し元に返します.
def odd_ele(seq: list or tuple):
list1 = []
for index in range(1, len(seq), 2):
list1.append(seq[index])
print(' :', list1)
odd_ele((22, 33, 44, 55, 11))
8.独自の辞書updateメソッドを実装する:別の辞書の要素を1つの辞書で更新する(独自のupdateメソッドは使用できない)yt_update(辞書1,辞書2)
def my_update(dict1: dict, dict2: dict):
dict3 = dict1.copy()
if len(dict2) < len(dict3):
for key1 in dict3:
for key2 in dict2:
if key2 == key1:
dict1[key1] = dict2[key2]
break
dict1[key2] = dict2[key2]
else:
for key2 in dict2:
for key1 in dict3:
if key2 == key1:
dict1[key1] = dict2[key2]
break
dict1[key2] = dict2[key2]
print(' 1:', dict1)
my_update({'a': 1, 'b': 2, 'c': 3}, {'e': 44, 'b': 4, 'a': 5, 'd': '6'})
9.独自のitemsメソッドを実装する:辞書をリストに変換し、辞書のキー値ペアを元祖に変換する.(itemsメソッドは使用できません)yt_items(辞書)例えば、{'a':1,'b':2,'c':3}--->[('a',1),('b',2),('c',3)]]
def my_items(dict1: dict):
list1 = []
for key in dict1:
tuple1 = key, dict1[key]
list1.append(tuple1)
print(' :', list1)
my_items({'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 min key
print(' :', max(all_student, key=lambda x: x['score']))
print(' ', max(all_student, key=lambda x: x['age']))