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

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

发布了13 篇原创文章 · 获赞 8 · 访问量 5574

猜你喜欢

转载自blog.csdn.net/weixin_43207103/article/details/100865647