##循环语法
##for....in ---循环每次使用的序列元素,而不是序列的下标
##range() --实现下标对循环的控制
##S = 'abcdefghijk'
##for i in range(0,len(S),2):
## print (S[i])
##利用len()函数和range()函数,用i作为S序列的下标来控制循环。在range函数中,分别定义上限,下限和每次循环的步长。这就和C语言中的for循环相类似了
##enumerate()--可以在每次循环中同时得到下标和元素
##S = 'abcdefghijk'
##for (index,char) in enumerate(S):
## print (index)
## print (char)
##enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char
##zip() --多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素
##ta = [1,2,3]
##tb = [9,8,7]
##tc = ['a','b','c']
##for (a,b,c) in zip(ta,tb,tc):
## print(a,b,c)
##每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c
##分解聚合后的列表
ta = [1,2,3]
tb = [9,8,7]
# cluster
zipped = zip(ta,tb)
print(zipped)
# decompose
na, nb = zip(*zipped)
print(na, nb)