1,split()与join的用法
split()是字符串内置的方法,默认是以空格为分界,返回的是一个列表。
join()是列表的一个内置方法,返回的是一个字符串。
2,字符串翻转s=s[::-1]
3,range与xrange的区别
range(50) 下标从0到49
range(4,50) 下标从4到49
range(1,50,5) 下标从1到46
range返回的是一个列表,而xrange返回的是一个迭代器(iterator)。python3里面不再含有xrange,统一为range。
4,sort 与sorted函数的区别
sort()是list的内置函数
sorted()是python的内置函数
前者就地改变列表,后者生成一个新的列表
sorted(iterable,key=None,reverse=False)
增加一个key作为比较参数,这个参数在比较前被执行
对于字典dict或者tuple的排序,可以指定按照哪一个开始排,使用lamda函数
student_tuples = [('john', 'A', 15),('jane', 'B', 12),('dave', 'B', 10),]
sorted(student_tuples, key=lambda student: student[2]) # sort by age
输出:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
student_tuples.sort(key=lambda x: x[2])
输出:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
5,lamda用于编写简单的函数
如f=lamda x,y,z:x+y+z
f(1,2,3)返回的值是6
6,python中*和**有以下三点区别:
作为运算符,*表示乘,**表示次方
指定函数传入参数点的类型,用于参数前面,*表示传入的参数按照元组存储,**表示以字典方式存储
**还可以用于求两个字典的并集
7,map可以用于在序列中映射函数
def inc(x):
return x+10
L = [1,2,3,4]
print map(inc,L)
print map((lambda x: x+10),L)
此外还可以使用列表解析(根据已有列表,创建新的列表的过程)
print [x**2 for x in range(10)]
print map((lambda x: x**2), range(10))