print(i,end=" ")//按行打印输出
print(i)//列打印输出
高阶函数 def add(x,y,f): return f(x)+f(y) add(-5,6,abs)//一个函数可以接受另一个函数作为参数
map()函数接受两个参数,一个是函数,一个是Iterable.列如def f(x): return xx r=map(f,[1,2,3,4,5]) list(r) [1,4,9,16,25]
list(map(str,[1,2,3,4,5])) //map()可以将list所有的数字转换为字符串
reduce(f,[x1,x2,x3])=f(f(x1,x2),x3)//reduce把结果继续和序列的下一个元素做累积计算
from functools import reduce //序列求和
filter()是python的内建的函数,用于过滤序列。和map()函数一样,可接受一个函数和一个序列,与map()不同是,filter()把传入的函数一次作用于每个元素,然后会根据返回值True还是False决定是否丢弃各元素
filter ()函数返回的是一个Iterator,也是一个惰性序列。所以要强迫filter()完成计算结果,需要list()函数获得所有结果并返回list
计算素数的一个方法是埃氏筛法
lambda函数的应用:a=lambda x:xx print(a(3))
python的内置函数sorted()函数可以对list进行排序 列如:sorted([-2,3,620,52]) [-2,3,52,620]
sorted()函数也是一个高阶函数,可以接受一个key函数来实现自定义的排序,列如安绝对值大小排序。高阶函数除了可以接受函数作为参数外,换可以把函数作为结果返回
def test(**a)//传递可变参数
f=lazy_sum(1,2,3,4) f()//闭包(Closure)
list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))//匿名函数,只能有一个表达式
f=lambda x:x*x ,次匿名函数可以用f()来调用,
函数对象有一个__name__属性,可以拿到函数名字
把@log放到now()函数定义处,相当于执行了语句now=log(now) log()是一个decoratr,返回一个函数
int('12345',base=n)//base参数,默认值为10,可以做n进制转换
int2()函数可以进行转换大量的二进制字符串
functools.partial用于创建一个偏函数
list(zip(names,ages))//内置函数zip是并行迭代工具,将序列names与aes'缝合'起来
for name, age in zip(names, ages)//可在循环中将元组解包。函数zip将在最短的序列用完后停止“缝合”
sorted()//用于list中元素的排序
reversed()//用于反转list中的元素
列如 list(resered('Hello,world')) 或''.join(revered('Hello,world')) 'dlrow,olleH'
break结束整个循环
continue结束当前循环(迭代),并跳到下一次迭代开头
while True/break成例
while True:
word = input('Please enter a word: ')
if not word: break
使用这个单词做些事情:
print('The word was ', word)
高阶函数//能接受函数做参数的函数
def add (x,y,f): return f(x)+f(y) add(-5,9,abs ) //能够接受函数的函数
'',"",//单行输出
''' '''//多行输出
try...except/try...except..else/try ...except...finally/raise抛出异常//异常处理语句
len(steing)//计算字符串长度
string[start🔚step]//截取字符串
str.split(sep,maxsplit)//分割字符串
lower()//用于将字符串中的大写字母转化成小写字母
upper()//用于将字符串中的小写字母转化成大写字母
dictionary=dict(zip(list1,list2))//通过映射函数创建字典
zip()函数//用于将多个列表或元组对应位置的元素组合成元组
tuple()函数//将zip对象转换为元组
list()函数//将zip对象转换为列表
dict.fromkeys()//是dict对象的方法,可以创键值为空的字典
dictionary.clear()//用来删除字典的所有元素
items()//使用字典对象的items()方法可以获取字典的“键值对”列表
str='' print(str [])//索引
sname(start🔚step)//切片,要想复制整个序列如sname[:]
nba1=[],nba2=[] print(nba1+nba2)//序列相加,只能是同类型(列表,元组,集合,字符串)的序列相加
phone=[] print(phone *n )//用数字n乘以一个序列会生成新的序列
len(),max(),min()//计算序列的长度,最大值,最小值
list(range(0,10,2))//数值列表,用list()函数直接将range()函数循环出来的结果转化成列表
list()函数不仅通过range创建列表,换可以通过其他对象创建列表
访问列表元素的方式有三种//print直接输出、索引、切片
dqsj=datetime.datetime.now ()//输出当前时间
for 循环的enumerate()函数//同时输出索引值和元素内容
list.append()//为列表添加元素,只能添加到列表的最后位置
list.insert()//为列表任意位置添加元素
del list()//根据索引删除列表元素(由元素的位置删除)
list.remove()//根据元素值删除元素,只知道有元素,不知道位置
list.count()//获取置顶元素出现的次数
list.index()//获取指定元素首次出现的下标
sum(list[,start])//计算数值列表的元素和
sort ()//升序排序
sort(reverse=True)//降序排序
sort(key=str.lower)//不区分字母大小写排序
sorted()//内置函数,进行列表排序后,原列表顺序不变
list.append(random.randint())//向列表中添加随机数
print([x for x in list if x>200])//用于判断x大于200的列表