只从映射函数中获取单个元素

时间:2018-05-15 01:41:59

标签: python python-3.x python-2.7

我目前正在学习映射函数,并具有以下内容:

longer object length is not a multiple of shorter object lengthlonger object length is not a multiple of shorter object length

您也可以使用:

t = ['a','b','c']

def capitalize_all(t): 
    res = []
    for s in t:
        res.append(s.capitalize())
    return res

 capitalize_all(res)
 [A]

等等。但我的问题是,为什么这个函数只返回列表中的一个元素?不会最终有三个元素吗?

3 个答案:

答案 0 :(得分:1)

因为你在错误的地方从函数返回。您当前正在做的是使列表大写的第一项,将其附加到新列表并返回。因此,结果只有一个元素。如下所示更改返回位置,您将获得所需的输出。



t = ['a','b','c']

def capitalize_all(t): 
    res = []
    for s in t:
      res.append(s.capitalize())
    return res

print(capitalize_all(t))




答案 1 :(得分:0)

请注意返回句子

def capitalize_all(t): 
    res = []
    for s in t:
        res.append(s.capitalize())
    #you should return res after for loop ends
    return res

答案 2 :(得分:0)

你可以这样做:

def capitalize_letters(letters):
    return [letter.upper() for letter in letters]