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 常用内置函数及方法(详细)<--※※※
网友评论