天天看點

day-12作業

  1. 已經兩個清單A和B,用map函數建立一個字典,A中的元素是key,B中的元素是value
A = ['name', 'age', 'sex']
B = ['張三', 18, '女']
新字典: {'name': '張三', 'age': 18, 'sex': '女'}
           
result = map(lambda item1, item2: (item1, item2),A ,B)
print(dict(result))
           
  1. 已經三個清單分别表示5個學生的姓名、學科和班号,使用map将這個三個清單拼成一個表示每個學生班級資訊的的字典
names = ['小明', '小花', '小紅', '老王']
nums = ['1906', '1807', '2001', '2004']
subjects = ['python', 'h5', 'java', 'python']
結果:{'小明': 'python1906', '小花': 'h51807', '小紅': 'java2001', '老王': 'python2004'}
           
result2 = map(lambda item1, item2, item3 :(item1, item2+item3 ),names, subjects, nums)
print(dict(result2))
           
  1. 已經一個清單message, 使用reduce計算清單中所有數字的和(用采用清單推導式和不采用清單推導式兩種方法做)
message = ['你好', 20, '30', 5, 6.89, 'hello']
結果:31.89
           
from functools import reduce
           
# 方法一:
result3 = reduce(lambda x, item4: x + (item4 if type(item4) in [int, float] else 0), message, 0)
print(result3)
# 方法二:
def sum1(message:list):
    message2 = 0
    for x in message:
        if type(x) in [int,float]:
            message2 += x
        return message2