Python学习九:列表生成式,,2015年02月12
Python学习九:列表生成式,,2015年02月12
2015年02月12日 15:38:52阅读数:32624列表生成式,是Python内置的一种极其强大的生成list的表达式。
如果要生成一个list [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9] 可以用 range(1 , 10):
[python]view plaincopy>>>range(1,9)[1,2,3,4,5,6,7,8]可是,如果要生成[1*1 , 2*2 , 3*3 , ... , 10*10] 怎么做呢?可以使用循环:[python]view plaincopy>>>L=[]>>>forxinrange(1,10):...L.append(x*x)...>>>L[1,4,9,16,25,36,49,64,81]
而列表生成式,可以用一句代替以上的繁琐循环来完成上面的操作:[python]view plaincopy>>>print[x*xforxinrange(1,11)][1,4,9,16,25,36,49,64,81,100]>>>
列表生成式的书写格式:[x*x for x in range(1 , 11)]
第一:把要生成的元素 x*x 放到前面
第二:后面跟上for循环
这样就可以把list创建出来。
for循环后面还可以加上if判断,这样可以筛选出偶数的平方:
[python]view plaincopy>>>[x*xforxinrange(1,11)ifx%2==0][4,16,36,64,100]>>>当然,可以使用两层循环,生成全排列:[python]view plaincopy>>>print[m+nformin‘ABCD‘fornin‘XYZ‘][‘AX‘,‘AY‘,‘AZ‘,‘BX‘,‘BY‘,‘BZ‘,‘CX‘,‘CY‘,‘CZ‘,‘DX‘,‘DY‘,‘DZ‘]>>>如何使用两个变量来生成list:[python]view plaincopyd={‘Java‘:"99",‘C‘:"99",‘C++‘:"99"}L=[k+‘=‘+vfork,vind.iteritems()]printL
最后来做一个练习:
L = [‘Java‘ , ‘C‘ , ‘Swift‘ , ‘Python‘ , 123] , 现在有 list 中包含字符串,和整数,把list中得大写字符转为小写,推到出另外一个list":
1、使用内建的isinstance函数可以判断一个变量是不是字符串
2、s.lower() 可以将一个大写字母转为小写。
3、增加if语句保证列表生成式正确执行。
代码如下:
[python]view plaincopyL=[‘Java‘,‘C‘,‘Swift‘,‘Python‘,123]print[s.lower()ifisinstance(s,str)elsesforsinL]Python学习九:列表生成式
相关内容
- Python(64)_写函数,判断用户传入的值(字符串,列表,
- Python3基础 input 输入浮点数,整数,字符串,,????????P
- Python编程快速上手-让繁琐工作自动化 第四章 列表练习
- python小工具 - alert弹框输出姓名年龄、求和,,使用pyt
- python中PIL模块,,Image模块Ima
- Python3 小工具-ICMP扫描,,from scapy
- 我的python菜鸟之路1,,python基础编译
- python起步,,1.程序输出prin
- ubuntu配置caffe的python接口pycaffe,,参考网站:http:
- python turtle库的几个小demo,,一、先上图一个同切圆
评论关闭