Python 数据科学指南1.19 使用zip和izip函数

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

猜你喜欢

转载自blog.csdn.net/cjx_cqupt/article/details/88369202