自学Python-语句之列表推导式
列表推导式,有的资料也叫列表解析表达式;是对其他的序列(例如字符串,列表,元组)中的元素重新计算生成一个新的列表。像是for语句的简写形式;
1,简单结构:
1、最简单的结构有三部分组成:1)一个表达式;2)for循环语句的第一行;3)一对中括号,包含1和2;(预示生成一个列表)[ 1)表达式 2)for 循环语句的第一行]如:[x**2 for x in range(0,10)]

2.和if搭配结构:
1、在简单结构的基础上加上条件语句if[ 1.表达式 2.for 循环语句的第一行 3.if条件语句的第一行]说到if语句,就会想到判断,过滤,筛选;找出符合你规定条件的数据;

3.for,for 嵌套结构
1、写法收集到两种顺序不同的写法:第一种是:[ 表达式 外层的for 循环语句的第一行 内层for 循环语句的第一行]外循环在前,内循环在后。第二种是:[ [表达式 内层的for 循环语句的第一行] 外层for 循环语句的第一行]显然是列表套列表;把内层循环在前做为表达式来使用,外层循环再后。

3、循环嵌套经典的例子就是99乘法表,那么用列表推导式怎么写呢:99乘法表最少三种写法:while,for,列表推导式。while循环;-------------------a=1while a <10: b = 1 while b <=a: print("%sx%s=%-3s"%(b,a,a*b),end="\t") b += 1 a+=1 print()输出:(看图片)-------------------for循环写法:-------------------for x in range(1, 10): for y in range(1, x+1): print("%sx%s=%-3s" % (y, x, x * y), end='') print()输出:(看图片)-------------------列表推导式写法:-------------------table='\r\n'.join(['\t'.join(["%sx%s=%s"%(y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)])print(table)输出:(看图片)-------------------这里字符串函数join()用于将列表中的元素连接成一个,去除多余的字符。\r\n换行;\t是table键。具体看下图。


