zip()函数
把两个列表(或元祖,字符串也行)‘压缩’ 成一字zip对象(可迭代对象),目的:使用循环可以并行的循环两个列表;
返回的是一个列表,里边是由原列表元素组成的元祖。
l1 = [1,2,3,4]
l2 = [1,2,3,4]
r = [i for i in zip(l1,l2)]
print(r) # [(1, 1), (2, 2), (3, 3), (4, 4)]
列表元素数量不一样,zip()函数将以长度短的列表为准:
l1 = [1,2,3,4]
l2 = [1,2,3]
r = [i for i in zip(l1,l2)]
print(r) # [(1, 1), (2, 2), (3, 3)]
reversed()函数 改变原列表 无返回结果
反向遍历,可接受列表、元祖、字符串(set集合和字典不行,否则报错)等参数。
s = (1,2,3,)
r = [i for i in reversed(s)]
print(r)
s = '123'
r = [i for i in reversed(s)]
print(r) #['3', '2', '1']
sorted()函数 不会改变原数据,返回结果
对列表、元祖、字符串进行反向排序:
s = (1,2,3)
r = sorted(s)
r1 = sorted(s,reverse=True)
print(r) # [1, 2, 3]
print(r1) # [3, 2, 1]
上边代码,默认是从小到大排序,当传一个reverse参数,reverse=True时,会从大到小进行排序;
也可以接收一个key参数,改参数可以指定一个函数来生成排序规则:
上边代码,按照字符串长度进行排序。
dir( ) 函数 - 查看某个列表或元祖或函数或类的所有方法及属性
class b():
pass
print(dir(b))
'''
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__',
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
'__subclasshook__', '__weakref__']
'''