- Python内置的enumerate函数
这个函数可以把循环list变成 索引-元素,这样就可以在for循环中同时迭代索引和元素本身。
>>> for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
...
0 A
1 B
2 C
for i, value in enumerate(['A', 'B', 'C']):
print(i)
print(value)
0
A
1
B
2
C
- isinstance()数据类型的检查:
列入我要写一个求数字的绝对值函数,就要定义输入的必须是int或者float类型
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
>>> my_abs('A')
Traceback (most recent call last):
File "", line 1, in
File "", line 3, in my_abs
TypeError: bad operand type
- lambda函数
匿名函数lambda是一个比较简单的小函数
a = lambda x,y ,z : x+y-z
print(a(1,2,3))
结果
0
# lambda 函数冒号前的是参数,可以用逗号分隔;冒号后面的是含参数的表达式
- zip
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = [1, 2, 3, 4, 5, 6]
>>> ziped = zip(a, b)
[(1, 4)
(2, 5)
(3, 6)]
>>>ziped=zip(a, c)
[(1, 1)
(2, 2)
(3, 3)]
>>>ziped=zip(a, b, c)
Traceback (most recent call last):
File "", line 1, in
>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> zip(*a)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> map(list,zip(*a))
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]