Phthon学习笔记(四):生成列表
2015-06-14 19:57
357 查看
基本格式:
[关于x的表达式 for x in range(a,b,c) 条件]
几个栗子:
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [x * x for x
in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
生成:[1x2, 3x4, 5x6, 7x8, ..., 99x100]
>>>[x * (x + 1) for x in range(1, 100, 2)]
[2, 12, 30, 56, 90, 132, 182, 240, 306, 380, 462, 552, 650, 756, 870, 992, 1122, 1260, 1406, 1560, 1722, 1892, 2070, 2256, 2450, 2652, 2862, 3080, 3306, 3540, 3782, 4032, 4290, 4556, 4830, 5112, 5402, 5700, 6006, 6320, 6642, 6972, 7310, 7656, 8010, 8372,
8742, 9120, 9506, 9900]
for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。
对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:
[关于x的表达式 for x in range(a,b,c) 条件]
几个栗子:
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [x * x for x
in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
生成:[1x2, 3x4, 5x6, 7x8, ..., 99x100]
>>>[x * (x + 1) for x in range(1, 100, 2)]
[2, 12, 30, 56, 90, 132, 182, 240, 306, 380, 462, 552, 650, 756, 870, 992, 1122, 1260, 1406, 1560, 1722, 1892, 2070, 2256, 2450, 2652, 2862, 3080, 3306, 3540, 3782, 4032, 4290, 4556, 4830, 5112, 5402, 5700, 6006, 6320, 6642, 6972, 7310, 7656, 8010, 8372,
8742, 9120, 9506, 9900]
for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。
对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:
>>> [m + n for m in 'ABC' for n in '123'] ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
相关文章推荐
- JAVA实验五(网络编程)
- Reverse Integer
- 解决java压缩图片透明背景变黑色的问题
- 解决java压缩图片透明背景变黑色的问题
- LeetCode ContainsDuplicate
- c++ list, vector,deque, map,set 区别与用法比较
- java对象的强引用,软引用,弱引用和虚引用
- 四季
- HDFS的优缺点
- eclipse常用插件
- C++ 多态的原理
- 面对我的恐惧
- Linux内核中的鸡与蛋
- Hadoop中HDFS写入文件的原理剖析
- 匈牙利算法模板
- stl 迭代器失效
- Leetcode 17 Letter Combinations of a Phone Number
- C++ 容器元素的存储和获取
- PHP 错误与异常 笔记与总结(10)错误处理器测试
- CentOS 5.5 DHCP服务器配置