美文网首页
python3笔记(002)----函数嵌套、filter()函

python3笔记(002)----函数嵌套、filter()函

作者: 潜心专研的小张同学 | 来源:发表于2020-02-19 14:21 被阅读0次

    python笔记002----函数嵌套、filter()函数、一行输入多个整数(空格分隔)、多维列表的输入

    • 字符串列表---内带2维列表
    a=['123']
    print(a[0][1])
    for i in range(9):
        print((i))
    
    • 函数调用,多值返回----嵌套未写与c相似语法
    def sum(n=0,*a): #注意点:变量值只是为局部作用域,且不作用于嵌套的里面。
        s=[]
        for i in range(len(a)):
            s.append(a[i]+1)
            # s[i]=s[i]+a[i]+1
        return n+1,s
    a=[1,2,3,4]
    x,s=sum(5,*a)
    print("返回的双值:",x,s)
    print(sum(*a),'\n',a) #这里只传了一个列表a过去,但是第一个是默认参数,需要一个值(对于*a这样的可变参数规定必须在他们后面、
                          #所以,默认把列表第一个值给了n
    
    • filter()函数

    用法 filter(function, iterable)
    第一个是判断函数,对第二个可迭代对象(列表、元组)逐个进行判断,满足的留下,最后返回满足的部分。
    注意点:需要将其转为会列表,list()函数

    def is_odd(n):
        return n % 2 == 1
    tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    newlist = list(tmplist)
    print(newlist)
    # print(("1111",tmplist))
    #直接输出时不可以的,是这个: ('1111', <filter object at 0x01ADEFD0>)
    
    • 输入一个整型数字
    
    x=1
    y=int(input("请输入:"))
    print(type(x),type(y))
    
    • 一行输入多个整数,空格输入界定

    对于输入少量确定的个数:

    a,b,c=input().split()
    a,b,c=int(a),int(b),int(c)
    

    输入多个,考虑循环
    方法一、用map()函数

    list1=input()
    print(1,list1)
    list1=list(map(int,list1.split()))
    print(2,list1,type(list1[1]))
    

    方法二、

    x=input()
    x=[int(i) for i in x.split()]
    x=x[:3] #截取前3个数为x重新赋值
    

    二维、多维列表输入

    n=int(input())
    z=[]
    for i in range(n):
        y=input()
        y=[int(j) for j in y.split()]
        z.append(y)
    
    • 斐波那契
    def fibo(n):
        if n<=2:
            return 1
        else:
            return fibo(n-1)+fibo(n-2)
    
    n=int(input())
    print(type(fibo(n)),fibo(n))
    
    
    • ※※※-->python3 常用内置函数及方法(详细)<--※※※

    https://blog.csdn.net/qq_35206320/article/details/82627539

    相关文章

      网友评论

          本文标题:python3笔记(002)----函数嵌套、filter()函

          本文链接:https://www.haomeiwen.com/subject/uydafhtx.html