1 函数
1 列表推导式
l=[i for i in range(m,n+1) if prime(i)]
return sum(l)
2 计算字符
def CountDigit(number,digit):
number,digit=str(number),str(digit)
return l.count(digit)
3 斐波那契
def fib(n):
l = [1, 1]
#这里的第零个是第一项
for i in range(2, n + 1):
l.append(l[i - 2] + l[i - 1])
return l[n]
def fibs(a, b):
i = 0
l = []
while 1:
if a <= fib(i) <= b:
l.append(int(fib(i)))
elif fib(i) >= b:
break
i+=1
#i++放在整体否则跳不出循环
return l
2 编程
1 eval,加权列表
def find(l,cnt):
sum=0
for i in l:
if isinstance(i,list):
#判断 i 是否是一个列表
sum+=find(i,cnt+1)
else:
sum+=i*cnt
return sum
l=eval(input())
print(find(l,1))
def cycle(l):
sum=0
for i in l:
if isinstance(i,int):
sum+=i
elif isinstance(i,list) or isinstance(i,tuple):
sum+=cycle(i)
return sum
l=eval(input())
print(cycle(l))
2 全排列
from itertools import *
#itertools 模块提供了一些用于操作迭代器的函数,
#比如生成排列、组合等。这里使用了 permutations 函数
n=int(input())
for i in permutations([int(x) for x in range(1,n+1)]):
print(*i,end='\n',sep='')
# 这一部分是列表推导式,它生成一个整数列表,包含从 1 到 n 的所有整数。例如,如果 n = 3,
# 它生成 [1, 2, 3]。列表作为函数输入会生成123的全排列
3 头插,倒序
n = int(input())
girl, boy, student = [], [], []
for i in range(n):
id, name = input().split()
student.append(name)
if id == "0":
girl.append(name)
else :
boy.insert(0,name)
# 如果 id 为 "1"(男生),则将名字插入到 boy 列表的开头(反向排序)
dict1, dict2 = dict(zip(girl, boy)), dict(zip(boy, girl))
for i in range(n//2): # 只循环 n//2 次,因为每次配对一个女生和一个男生
if student[i] in dict1.keys(): # 如果当前学生是女生
print(student[i], dict1[student[i]]) # 输出女生与对应男生的配对
else: # 如果当前学生是男生
print(student[i], dict2[student[i]]) # 输出男生与对应女生的配对
4 层数
dic={}
def count(l,n):
for i in l:
dic[n]=dic.get(n,0)+1
if isinstance(i,list):
count(i,n+1)
l=eval(input())
n=int(input())
count(l,1)
print(dic.get(n,0))
#没有那么多层会报错
5 分数
from fractions import Fraction as f#起了一个别名
# fractions 模块导入了 Fraction 类,并将其重命名为 f
3选择
1,Lambda表达式只可以包含一个表达式,不允许包含其他复杂语句,但在表达式中可以调用其他函数,该表达式的计算结果相当于函数返回值。
2,range、map、zip、filter、reversed、enumerate 等,生成的对象其实是 迭代器,也称为 惰性求值对象,它们并不立即计算所有数据,而是每次访问时按需生成数据。这种特性使它们非常适合处理大数据,因为它们不会一次性把所有数据加载到内存中,而是按需生成数据流。
3,在一个函数中如局部变量和全局变量同名,则局部变量屏蔽全局变量
4,Python定义函数时,( )参数类型。 不需要声明
5,ums 是一个包含三个元素的元组 (1, 2, 3)。
nums 是一个解包操作,将 nums 元组中的元素传递给 f1 函数。nums 会将元组中的元素展开,作为位置参数传递给 f1。
6,内置函数( map )用于将指定序列中的所有元素作为参数调用指定函数,返回一个新的序列。
内置函数( globals() )用于查看包含当前作用域内所有全局变量和值的字典。
定义函数时,在形参前面加一个星号表示可以接收多个位置参数并存放于( 元组 )中。
两个星号:字典
7,
8,
9,