作者:手机用户2502885441 | 来源:互联网 | 2023-07-05 08:57
篇首语:本文由编程笔记#小编为大家整理,主要介绍了python学习笔记(15)循环设计相关的知识,希望对你有一定的参考价值。原链:http://www.cnblogs.c
篇首语:本文由编程笔记#小编为大家整理,主要介绍了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)
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)