查看可迭代对象(列表,元祖,字符串等)中的元素都是true 即非(空、0、false)
- all(iterable) 全部元素都不为空,非0,true 其实就是对象做与运算
all(())
#True 这个比较特殊 all([]) all(()) 空元组和空列表为True
all([0])
#Flase
all([1,2,3,4,5])
#True
all([0,1,2,3,4])
#Flase
- any(iterable) 元素中只要任意一个元素为非0 非空 true 即返回true 其实就是对象做或运算
any(())
#Flase
all([0])
#Flase
all([1,2,3,4,5])
#True
all([0,1,2,3,4])
#True
- cmp(x,y)
比较两个对象x和y,x<y=返回-1,xy 返回0 ,x>y 返回1
但是在python3里面没有cmp函数了,用operator代替了,但是需要导入模块,import operator
operator.le(a, b) 相当于a<=b
operator.eq(a, b) 相当于ab 字母完全一样,返回True,
operator.ne(a, b) 相当于a!=b
operator.ge(a, b) 相当于 a>=b
operator.gt(a, b) 相当于a>b
operator.lt(a,b) 相当于 a<b 从第一个数字或字母(ASCII)比大小
返回的是bool值。
- dict() 可以可迭代对象方式来构造字典
如果我们想把一个含两个元组的列表转换成一个字典,我们可以这么做
dict([('one', 1), ('two', 2), ('three', 3)])
#{'three': 3, 'two': 2, 'one': 1}
- enumerate
调用for循环的时候 可以直接使用当前元素序号,和当前元素,
#原来
for i in range(len(list)):
# 打印一下序号和元素
print i, list[i]
#改进后,确实看着方便很多
for i, item in enumerate(list):
# 打印一下序号和元素,如果for后面跟一个变量,则变量对应的是元祖
print (i, item)
- isinstance(object, classinfo)
比较一下对象是否是想象中的类型。
#以前比较对象类型
if type(obj) == type(dict):
# print('dict')
elif type(obj) == type(list):
# print('list')
#用isinstance 比较元素类型
if isinstance(obj, dict):
# print('dict')
elif isinstance(obj, list):
# print('list')
- pow(x,y,[,z])
函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
>>> pow(9,2) #平方
81
>>> pow(9,0.5) #开方
3.0
>>>
- zip([iterable, …])
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 返回一个对象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip(a,b)) # 与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
>>>
记录一些python的内置模块,方便以后使用的时候查询,写一写记得牢靠一些。