Discuss / Python / 交作业

交作业

Topic source

13个望辰

#1 Created at ... [Delete] [Delete and Lock User]

实质是取出list中每个tuple里的第一或者第二项,开始并没有理解key函数传入参数的意义,写出了以下代码:

def by_name(t):
    S=[]
    for i in range(len(L)):
        S.append(L[i][0])
    return S

后来发现key函数传入的是list中的每一个元素,那么显而易见:

def by_name(t):
    return t[0]

def by_score(t):
    return t[1] 

第二个是由高到低排 改成 return 100-t[1]

13个望辰

#3 Created at ... [Delete] [Delete and Lock User]

傻了,哈哈

貌似直接 -t[1] 就可以了

我一开始也犯了同样的错误,看了大家的解答才明白的,应该是list中的每一个元素都作用于key中的函数

我一开始也是理解错了,我写的是

    for x in range(len(t)):

        return (t[x])[0]

而且问题就是第二题改成1就不行了

    for x in range(len(t)):

        return (t[x])[1]


  • 1

Reply