for循环语句
for循环是编程语言中针对可迭代对象的语句。即for循环所应用的对象是可迭代的;反过来,如果一个对象能够被for循环,则说明它是可迭代的。
并行迭代: 这里介绍两个和for循环(迭代)相关的python内建函数。
要计算两个列表中对应位置元素的和,用for循环如下。
>>> a = [1, 3, 5, 7] >>> b = [2, 6, 9, 11, 15, 16] >>> lengh = len(a) if len(a) < len(b) else len(b) >>> c = [] >>> for i in range(lengh): ... c.append(a[i] + b[i]) ... >>> c [3, 9, 14, 18]
有一个更简洁的方法,用zip操作如下。
zip()函数:传入两个可迭代的对象参数,以元组的形式返回一个zip对象。
>>> a = [1, 3, 5, 7] >>> b = [2, 6, 9, 11, 15, 16] >>> c = [] >>> for x, y in zip(a, b): # the length of the shortest argument sequence … c.append(x + y) … >>> c [3, 9, 14, 18]
zip合并其他列表:
>>> result = [(2, 11), (3, 12), (5, 55), (7, 9)] >>> list(zip(*result)) [(2, 3, 5, 7), (11, 12, 55, 9)]
要将一个字典中的键值互换,使用for循环的方式:
>>> myinfo = {‘name’:’Jack’, ‘site’:’www.qq123.com’, ‘lang’:’python’} >>> info = {} >>> for k, v in myinfo.items(): … info[v] = k … >>> info {‘www.qq123.com’: ‘site’, ‘Jack’: ‘name’, ‘python’: ‘lang’}
使用zip的方式:
>>> myinfo = {‘name’:’Jack’, ‘site’:’www.qq123.com’, ‘lang’:’python’} >>> dict(zip(myinfo.values(), myinfo.keys())) {‘www.qq123.com’: ‘site’, ‘Jack’: ‘name’, ‘python’: ‘lang’}
enumerate()函数:可以同时得到一个可迭代对象的元素索引和元素。返回enumerate对象。
>>> week = ['python', 'c', 'c++', 'java', 'php'] >>> list(enumerate(week)) # 得到对象的元素索引和元素,默认从0开始 [(0, 'python'), (1, 'c'), (2, 'c++'), (3, 'java'), (4, 'php')] >>> list(enumerate(week, 3)) # 可指定起始值 [(3, 'python'), (4, 'c'), (5, 'c++'), (6, 'java'), (7, 'php')]
while循环语句
break和continue:break用于结束整个循环,继续向下执行循环之外的语句;continue用于跳出当前的循环,继续执行下一次循环,并没有结束循环体。
break:
>>> a = 8 >>> while a: ... if a % 2 == 0: ... break # 结束循环体,执行循环体外的语句 ... else: ... print('%s是奇数'%a) ... a -= 1 ... >>> print('%s是偶数'%a) 8是偶数
continue:
>>> a = 7 >>> while a: ... if a % 2 == 0: ... a -= 1 ... continue # 跳出本次循环,执行下次循环 ... else: ... print('%d是奇数'%a) ... a -= 1 ... 7是奇数 5是奇数 3是奇数 1是奇数
while…else和 if…else:都是在循环体执行完毕后要做的事。
for循环语句
for循环是编程语言中针对可迭代对象的语句。即for循环所应用的对象是可迭代的;反过来,如果一个对象能够被for循环,则说明它是可迭代的。
并行迭代: 这里介绍两个和for循环(迭代)相关的python内建函数。
要计算两个列表中对应位置元素的和,用for循环如下。