1.简单的for...[if]...语句

>>> a=[12, 3, 4, 6, 7, 13, 21]
>>> newList = [x for x in a]
>>> newList
[12, 3, 4, 6, 7, 13, 21]
>>> newList2 = [x for x in a if x%2==0]
>>> newList2
[12, 4, 6]

newList构建了一个与a具有相同元素的List。但是,newList和a是不同的List。执行b=a,b和newList是不同的。

newList2是从a中选取满足x%2==0的元素组成的List。

2.嵌套的for...[if]...语句

嵌套的for...[if]...语句可以从多个List中选择满足if条件的元素组成新的List。下面也举几个例子。

>>>a=[12, 3, 4, 6, 7, 13, 21]
>>>b=['a', 'b', 'x']
>>>newList=[(x, y) for x in a for y in b]
>>>newList
[(12, 'a'), (12, 'b'), (12, 'x'), (3, 'a'), (3, 'b'), (3, 'x'), (4, 'a'), (4, 'b'), (4, 'x'), (6, 'a'), (6, 'b'), (6, 'x'), (7, 'a'), (7, 'b'), (7, 'x'), (13, 'a'), (13, 'b'), (13, 'x'), (21, 'a'), (21, 'b'), (21, 'x')]
>>>newList2=[(x, y) for x in a for y in b if x%2==0 and y<'x']
>>>newList2
[(12, 'a'), (12, 'b'), (4, 'a'), (4, 'b'), (6, 'a'), (6, 'b')]

  

最新文章

  1. Java 线程
  2. 初探React,将我们的View标签化
  3. Add Two Numbers LeetCode Java
  4. ubifs核心功能 -- 垃圾回收
  5. lvm使用总结-转
  6. iOS开发--提交github代码
  7. git 和 svn的区别(转)
  8. Android addView动态给Activity添加View组件
  9. alt和title的用法区别
  10. SPOJ DISUBSTR(字符串hash)
  11. JVM启动参数设置
  12. 初窥Flask
  13. Manjaro 安装后的配置
  14. MySQL提示“too many connections”的解决办法
  15. Container 组件
  16. luogu 3045 优先队列反悔/bzoj 2590
  17. oracle数据库创建分区表
  18. 关于前端的margin
  19. Spring源码分析(十七)循环依赖
  20. 用adb来修改android嵌入式设备的system只读目录下的东西

热门文章

  1. grafana设置Alert阈值和邮件报警
  2. runtime error (运行时错误)
  3. 微信小程序插件开发
  4. IOC和DI 控制反转和依赖注入
  5. buy now按钮的添加
  6. 【linux基础】区块选择VisualBlock
  7. HDU1070:Milk
  8. 【codeforces】Bear and Three Balls(排序,去重)
  9. JavaScript高级程序设计——闭包
  10. 网络流--最小费用最大流MCMF模板