python 求问大佬,救救孩子

 

 1

li = [10,[20,30],40,[[50,60],70],[80,90]]
def f(li):
    s = 0
    for v in li:
        if type(v)==list:
            s += f(v)
        else:
            s += v
    return s
print(f(li))

2

stock_list=[
    ['招商银行',0.0124],
    ['兴业银行',0.0111],
    ['中国银行',-0.0078],
    ['上海银行',0.0033],
    ['农业银行',-0.0080],
    ['建设银行',-0.0086],
    ['宁波银行',0.0036],
    ['浦发银行',0.0000],
    ['工商银行',-0.0071]
]
def f(v):
    if v[1]>0:
        return v
    else:
        return None
def f2(v):
    if v[1] < 0:
        return True
    else:
        return False
print([x for x in map(f,stock_list) if x])
print(list(filter(f2,stock_list)))

3

def fun(lst):
    maxVal = max(lst,key=lambda x: x[1]*x[2])
    minVal = min(lst,key=lambda x: x[1]*x[2])
    return (maxVal[0],minVal[0])
goods_list = [('内存',100, 6004), ('键盘',120, 210), ('移动硬盘',200, 520), ('鼠标',108, 120)]
tup = fun(goods_list)
print(tup)

 

#1
ls=[10,[12,[23,14],25],36,[17,28]]
sum=0
def addition(x):
    global sum
    if isinstance(x,int):
        sum+=x
    elif isinstance(x,list):
        for i in x:
            addition(i)
    return sum
print(addition(ls))

#2
stock_list = [['招商银行', 0.0124], ['工商银行', 0.0111],['中国银行', -0.0078], ['上海银行', 0.0033],['农业银行', -0.0080], ['建设银行', -0.0086],['宁波银行', 0.0036], ['浦发银行', 0.0000],['工行',- 0.0071]]

def check(x):
    if x[1]>0:
        return x
a=list([x for x in map(check,stock_list) if x !=None])
b = list(filter(lambda x: x[1] < 0, stock_list))
print(a)
print(b)

#3
def fun(lst):
    maxVal = max(lst,key=lambda x: x[1]*x[2])
    minVal = min(lst,key=lambda x: x[1]*x[2])
    return (maxVal[0],minVal[0])
 
goods_list = [('内存',100, 600), ('键盘',120, 210), ('移动硬盘',200, 520), ('鼠标',108, 120)]
tup = fun(goods_list)
print(tup)

如有帮助,请点击采纳按钮。 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632