一、sum 求和函数
1. 语法:
sum(iterable[, start])
- iterable -- 可迭代对象,如:列表、元组、集合。
- start -- 指定相加的参数,如果没有设置这个值,默认为0。
2.注意:迭代对象需要{},[],()括起来
3.没有括起来会报错
print(sum(1,2,3))
4.括起来的情况。
print(sum((1,2,3)))
print(sum([3,4,5]))
print(sum({6,7,8}))
print(sum((2,3,4),1))
print(sum([1,2,3],4))
二.sorted() 函数对所有可迭代的对象进行排序操作。
1.sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:
sorted(iterable, cmp=None, key=None, reverse=False)
iterable:迭代对象。
cmp:比较,有两个参数。#python3中取消了这个参数,不用管。
key:用来进行比较的元素,只有一个参数。
reverse:reverse=ture 降序
a = [5,7,6,3,4,1,2]
print(sorted(a))
print(a)
L = [('f', 2), ('a', 1), ('c', 3), ('d', 4)]
print(sorted(L, key=lambda x:x[1]))
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print(sorted(students, key=lambda s: s[2]))
print(sorted(students, key=lambda s: s[2], reverse=True)) #按年龄降序排序
三.zip() 函数
1.zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
为什么在输出的时候加个*号?
在python3中,zip()函数返回的值是一个迭代器,这个迭代器表示的是数据存储在内存中的哪个位置,而不能直接进行访问/输出/使用,需要用list,for循环或者*号解压后才能正常显示。
不加*:
a = [1,2,3]
b = [4,5,6]
zipped=zip(a,b)
print(zipped)
2.如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
a = [1,2,3]
b = [4,5,6]
c=[9,5,6,7,8]
zipped=zip(a,b) #打包为元组的列表
print(*zipped)
print(*zip(a,c)) #与短的a列表长度相同
3.利用 * 号操作符,可以将元组解压为列表。