python函数初识

1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

def func(l):
    return list(l[::2])
print(func([1,2,3,4,5,6,7]))
print(func((1,2,3,4,5,6,7)))

2.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

def func(a):
    if len(a) > 5:
        print(f'{a}的长度大于5。')
    else:
        print(f'{a}的长度小于等于5。')
print(func((1,2,3,4)))
# 简化
def func(index):
    return '对象长度大于5.' if len(index) > 5 else '对象长度小于等于5.'
print(func((1,2,3,4,5,5,789,8)))

3.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

def func(l):
    return l[:2]
print(func([1,5,94,8,4,8,'adf']))
print(func(['ad']))

4.写函数,计算传入函数的字符串中,[数字]、[字母] 以及 [其他]的个数,并返回结果。

def func(raw_str):
    num = 0
    letter = 0
    other = 0
    for c in raw_str:
        if c.isalpha():
            letter += 1
        elif c.isdigit():
            num += 1
        else:
            other += 1
    return (f'数字的个数为{num}个,字母的个数为{letter}个,其它为{other}个。')

print(func('212542343adfds  [-] adsf234'))

5.写函数,接收两个数字参数,返回比较大的那个数字。

def func(a,b):
    return a if a > b else b
print(func(500,60))

6.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表

def func(v_dic):
    for i in v_dic:
        v_dic[i] = v_dic[i][:2]
    return v_dic
print(func({"k1": "v1v1", "k2": [11,22,33,44]}))

7.写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。

def func(l):
    dic = {}
    for i in range(len(list(l))):
        dic.setdefault(i,list(l)[i])
    return dic
print(func((11,22,33,44,55,66,74,63,90)))
posted @ 2020-04-24 10:55  鱼~A  阅读(147)  评论(0编辑  收藏  举报