看个例子:

# 定义一个列表
l=[1,2,3,4,5]
#()用于创建一个list,结果依次返回列表l的元素的平方,返回list
s=[i*i for i in l]
# 打印列表s
print(s)
# ()用于创建一个生成器,结果依次返回列表l的元素的平方,返回generator
s1=(i*i for i in l)
# 以列表形式打印generator的元素值
print(list(s1))
# 查看s1的类型
print(type(s1))

输出:

[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25]
<class 'generator'>

1、列表生成式即List Comprehensions,如何生成列表:

a=list(range(1,11))
print(a)
print(type(a))

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
<class 'list'>

2、如果要生成一个[1*1,2*2,......,10*10]的列表:

a=[i*i for i in range(1,11)]
print(a)

输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3、根据列表[1*1,2*2,......,10*10],帅选出偶数的平方的一个列表:

a=[i*i for i in range(1,11) if i%2==0]
print(a)

输出:[4, 16, 36, 64, 100]

4、使用两层循环,可以生成全排列

a=[m+n for m in "xyz" for n in "ABC"]
print(a)

输出:['xA', 'xB', 'xC', 'yA', 'yB', 'yC', 'zA', 'zB', 'zC']

三层循环很少用到

5、for循环迭代一个dict,dict的items可以同时迭代key和value,使用两个变量生成一个list:

a={'a':'A','b':'B','c':'C'}
b=[key +'='+value for key,value in a.items()]
print(b)

输出:['a=A', 'b=B', 'c=C']

6、把一个list所有的字母变成小写:

a={'Abc','Hello','APPLE'}
b=[i.lower() for i in a]
print(b)

输出:['apple', 'abc', 'hello']

假如list中含有数字则会报错:AttributeError: 'int' object has no attribute 'lower'

a={'Abc','Hello','APPLE',18}
b=[i.lower() for i in a if type(i)==str]
print(b)

输出:['abc', 'hello', 'apple']

最新文章

  1. C# 反射研究
  2. Java传参那些事!
  3. Javascript基础学习(2)_表达式和运算符
  4. 你可能不知道的一些JavaScript 奇技淫巧
  5. 【深入浅出jQuery】源码浅析--整体架构(转)
  6. hdu 4876 ZCC loves cards(暴力)
  7. HDU 4391 Paint The Wall 段树(水
  8. VB.NET 中 ComboBox 如何清除选项--- 使用Dataset 赋值 DataSource 的时候
  9. &lt;p&gt;标签样式设置
  10. 高级OOP特性(6)
  11. Emmagee--APP性能测试工具的基本使用
  12. 使用Dapper.Contrib 开发.net core程序,兼容多种数据库
  13. linux中启动 java -jar 后台运行程序
  14. 【vue基础学习】vue.js开发环境搭建
  15. OLEDB操作Excel
  16. 第2章-Vue.js指令
  17. NPOI 1.2教程(目录)操作Excel
  18. 杀毒软件 avg
  19. linux命令ulimit 系统限制你打开一些资源数
  20. TP5.0:的安装与配置

热门文章

  1. Linux 常见目录
  2. 调用系统的loading界面
  3. redis环境搭建及一主二从三哨兵模式配置
  4. javaee作业
  5. 解决Ajax中IE浏览器缓存问题
  6. 菜鸟对java和Go的理解
  7. forEach 循环数组 # for in 循环对象 key # for of 循环对象 value
  8. 手动生成WebService代理类
  9. JDK14发布了,快来看看有什么新特性吧
  10. Magento2-2.3.4 win10安装完magento无法加载静态资源导致无法进入后台登录页面