python学习笔记(15)循环设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记(15)循环设计相关的知识,希望对你有一定的参考价值。

原链:http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html

注意:zip()在python2 3里面不一致

#第15讲 循环设计

#循环在前面是有学习的,简单的循环

for i in range(10):
    print (i**2)

#上面就是很简单的循环


#range()

s = abcdefghijk

for i in range(0, len(s), 2):#从下标0开始,到len()函数返回的元素数,然后步长 step 为2
    print (s[i])
    

#输出结果:a c e g i k
#步长 step 这个概念 是之前学习list里面下标的时候引入的一个概念
#range 函数,分别定义上限 下限 每次循环的步长
#list 里面是用 :来隔开的

#注意 range 产生的数是没有上限的

for i in range(0, 5, 2):
    print (i)

#输出: 0,2,4


#enumerate()

for (index, char) in enumerate(s):
    print (index, char)


‘‘‘
输出结果:
0 a
1 b
2 c
3 d
4 e
5 f
6 g
7 h
8 i
9 j
10 k
‘‘‘

#输出结果来看,enumerate()函数,返回的是一个 tuple ,然后两个元素赋予 index char
#把下标 和 元素 都打印出来  char 字符  C语言用的更多


#zip()
m1 = [1, 2, 3]
m2 = [9, 8, 7]
m3 = [a, b, c]

for (a,b,c) in zip(m1,m2,m3):
    print ((a,b,c))

#输出结果:(1, 9, ‘a‘)
#(2, 8, ‘b‘)
#(3, 7, ‘c‘)

#zip()函数,就是从多个list,依次取出一个元素,每次取出的(来自不同list)元素合并成一个tuple,并返回
#zip()函数,聚合列表的功能


# for 后面3个变量,一定是list里面足够的,list里面有4个也是可以的,m1= [1,2,3,4]
#输出是不变的,但是for 后面变4个变量,就会报错
#ValueError: not enough values to unpack (expected 4, got 3)
#只获取到3个变量,期望是4个变量

m1 = [1,2,3]
m2 = [9,8,7]

zipped = zip(m1,m2)#zip() 从list m1 m2各抽取一个元素,组成tuple,赋给zipped
print (*zipped)
#输出:(1, 9) (2, 8) (3, 7)

list(zip(m1,m2))
#输出list:[(1, 9), (2, 8), (3, 7)]
#这是聚合



#分解列表
#zip函数在python2 3里面表现不一致
#python2 实现如图

技术分享

然后继续python3的zip()

#python3

x = (1,2,3)
y = (4,5,6)
z = (7,8,9)

n = list(zip(x,y,z))
print (n)
#[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

m = list(zip(*n))
print (m)
#[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

#都通过list 来实现



#按照官方文档
x = (1,2,3)
y = (4,5,6)
zipped = zip(x,y)
list(zipped)
#[(1, 4), (2, 5), (3, 6)]

#注:自己尝试
print (zipped)
<zip object at 0x0000023A74ED6748>
print (list(zipped))
[(1, 4), (2, 5), (3, 6)]

#继续文档
x2, y2 = zip(*zip(x, y))#这里zip(x,y) 不能用zipped,虽然我们前面赋值了,python会认为没有足够的值去解
x2
#(1, 2, 3)
y2
#(4, 5, 6)

 

以上是关于python学习笔记(15)循环设计的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记-流程控制(while循环)

学习笔记33具有Python特色的循环

python的学习笔记之循环的使用1

Python学习笔记之循环结构

python学习笔记第三节

python学习笔记第三节