zip函数将两个相同长度的集合合并成对,它是Python的内置函数。
#1.range 函数有3个参数:起始数值、结束数值和步长,默认步长为1。另外,Python步长是右侧关闭的。range((1,5)表示的是[1,2,3,4]
#2.zip 函数有两个参数,两个集合的大小必须一致,如果不满足,则输出结果会削减以匹配较小的集合大小。
print (list(zip(range(1,5),range(1,5))))
[(1, 1), (2, 2), (3, 3), (4, 4)]
# zip函数的缺点是它会立刻计算完一个立标,当我们使用两个超大列表时,会出现问题。
# izip函数是用来解决此类状况的,它在需要的时候计算相应的元素。izip是itertools模块的一个组成部分。
print (list(zip(range(1,5),range(1,5))))
# *操作符将集合中的每个元素作为位置参数进行传递,如本例中将列表a[2,3]改为pow函数的位置参数,如pow(2,3)
a = [2,3]
print (pow(*a))
# **操作符将字典中的元素变为命名参数进行传递。
a_dict = {'x':1,'y':1,'z':1,'x1':1,'y1':1,'z1':1}
def dist(x,y,z,x1,y1,z1):
return abs((x-x1)+(y-y1)+(z-z1))
print (dist(**a_dict))
def any_sum(*args):
tot = 0
for arg in args:
tot += arg
return tot
print (any_sum(1,2))
print (any_sum(1,2,3))
[(1, 1), (2, 2), (3, 3), (4, 4)]
8
0
3
6