对Python中for复合语句的使用示例讲解

yipeiwu_com6年前Python基础

当Python中用到双重for循环设计的时候我一般会使用循环的嵌套,但是在Python中其实还存在另一种技巧——for复合语句。

简单写一个小程序,用于延时循环嵌套功能如下:

#!/usr/bin/python

defFunc1(ten_num,one_num):

 for i in range(ten_num):

  for j in range(one_num):

   print(10 * i + j)

Func1(2,5)的执行结果如下:

0

1

2

3

4

10

11

12

13

14

以上是一个数字组合运算的结果清单。接下来使用for的复合语句实现类似功能,增加扩充代码如下:

#!/usr/bin/python


defFunc1(ten_num,one_num):

 for i in range(ten_num):

  for j in range(one_num):

   print(10 * i + j)


defFunc2(ten_num,one_num):

 print([(10 * i + j)

  for i in range(ten_num)

   for j in range(one_num)])


#Func1(2,5)

Func2(2,5)

程序的执行结果如下:

[0, 1, 2, 3, 4,10, 11, 12, 13, 14]

这里以列表的形式存储了生成的各种数字组合结果并进行了打印。程序实现的功能类似,但是从上面的代码以及结果来看,for复合语句还是有其自己的特点的。

具体如下:

1,从代码上看,复合语句的形式代码更为凝练;

2,从阅读上看,复合语句其实在表述上更加贴近于英语语法;

3,在实现结果的矩阵化上,复合语句更有优势。

以上这篇对Python中for复合语句的使用示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pytorch .detach() .detach_() 和 .data用于切断反向传播的实现

当我们再训练网络的时候可能希望保持一部分的网络参数不变,只对其中一部分的参数进行调整;或者值训练部分分支网络,并不让其梯度对主网络的梯度造成影响,这时候我们就需要使用detach()函数...

python的Template使用指南

Template无疑是一个好东西,可以将字符串的格式固定下来,重复利用。同时Template也可以让开发人员可以分别考虑字符串的格式和其内容了,无形中减轻了开发人员的压力。 Templa...

python3的输入方式及多组输入方法

python3的输入方式 1. 读取键盘输入 内置函数 input()接收键盘标准输入 str = input("请输入") print(str) 默认返回的是字符串类型,通过强...

对Python生成器、装饰器、递归的使用详解

1、Python生成器表达式 1)、Python生成器表达式 语法格式: (expr for iter_var in iterable) (expr for iter_var in it...

python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法

可能很多人遇到过这个错误,当使用setup.py安装python2.7图像处理模块PIL时,python默认会寻找电脑上以安装的vs2008.如果你没有安装vs2008,会出现Unabl...