1. 定义

用一行构建代码

例题

# 构建一个1-100的列表

l1 = [i for i in range(1,101)]

print(l1)

# 输出结果

[1,2,3,4,5,6,...100]

2. 两种构建方式

2.1 循环模式: [变量(加工后的变量) for 变量 in iterable]

例题

1. 将10以内所有整数写入列表

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

# 输出结果

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2. 将10以内所有整数的平方写入列表。

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

3. 100以内所有的偶数写入列表.

print([i for i in range(2, 101, 2)])

4. 从python1期到python100期写入列表list

print([f'python{i}期' for i in range(1, 101)])

练习题

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

print(l1)

l2 = [i for i in range(1,101) if i % 2 == 0]

print(l2)

l3 = [f'python{i}期' for i in range(1,101)]

print(l3)

2.2 筛选模式: [变量(加工后的变量) for 变量 in iterable if 条件] 增加一个判断

例题

# 构建一个列表,要求元素大于4

print([i for i in range(11) if i > 4])

# 输出结果:

[5, 6, 7, 8, 9, 10]

练习题

1. 10以内大于4的数

# print([i for i in range(11) if i > 4])

print([i for i in range(1,31) if i % 3 == 0])

2. 30以内可以被三整除的数。

# 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母

l1 = ['太白金星', 'fdsaf', 'alex', 'sb', 'ab']

l2 = [i.upper() for i in l1 if len(i) > 3]

print(l2)

3. 找到嵌套列表中名字含有两个‘e’的所有名字(有难度)

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],

['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]

# 方法一: 普通方法

l4 = []

for i in names:

for j in i:

if j.count('e') >= 2:

l4.append(j)

print(l4)

# 方法二: 列表推导式方法

print([j for i in names for j in i if j.count('e') >= 2 ])

3. 列表推导式的优缺点

优点:

​简单,快捷,装b

缺点:

​可读性不高,不好排错

列表推导式 python原理_python之列表推导式相关推荐

  1. 列表推导式 python原理_Python进阶-列表推导式详解总结

    列表推导式并不是什么特别的技术,它只是一种创建列表的简洁方法,目的是为了让大家写程序时更方便更快捷,写出更简洁的代码 初识列表 现在请创建一个list,元素为1到9的整数,先用普通方法做 lst = ...

  2. python列表根据值找索引_python实现列表中由数值查到索引的方法

    python实现列表中由数值查到索引的方法 如下所示: 以上这篇python实现列表中由数值查到索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 时间: 201 ...

  3. python中列表和集合的区别_python中列表和集合有什么区别

    列表list 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样 ...

  4. python元组 列表 字符串最后一个下标_python字符串列表元组序列操作

    Table of Contents generated with DocToc python系列-字符串.列表.元组的操作 序列的访问及运算符 序列是为满足程序中复杂的数据表示,python支持组合数 ...

  5. 列表排序并返回索引_Python特性—列表,看完你就能轻松驾驭,拿走不谢

    更新列表 元素赋值 可根据编号对列表中某个元素重新赋值: 而且可以赋不同类型的值: 增加元素 一旦初始化了一个列表就不能再往这个列表中增加元素了,若需要往列表中增加元素,则需要将整个列表中的元素复制一 ...

  6. python列表推导式生成随机数_Python:列表推导式/生成器推导式

    一,列表推导式和生成器表达式 l = [i for i in range(10)] print(l) l1 = ['选项%s'%i for i in range(10)] print(l1) 1.把列 ...

  7. python列表数据写入txt文件_Python将列表数据写入文件(txt, csv,excel)

    写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') f ...

  8. python中列表是什么样的数据结构_Python中列表、字典、元组、集合数据结构整理...

    Python常见数据结构整理 Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) ...

  9. python 遍历_python遍历列表

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是 ...

最新文章

  1. 【连载】【FPGA黑金开发板】NIOS II那些事儿--编程风格(三)
  2. Unity学习笔记2 简易2D横版RPG游戏制作(二)
  3. iOS自动化打包之重签名导出不同证书ipa探索
  4. linux端口映射_Linux 系统安全与优化配置
  5. php在线支付系统,Thinkphp各大支付平台在线支付集成源码
  6. selenium ruby和java_针对Ruby的Selenium WebDriver安装指南
  7. DevExpress GridControl使用方法
  8. 国二考试c语言考场能炒么,国2考试题_计算机国二office高级应用考试的题目是从题库20套里抽其中一套还是别的题目_淘题吧...
  9. 人脸检测-人脸对齐-人脸识别原理及方法
  10. veil-Evasion免杀使用
  11. Dell R730 xd “CPU 2 M23 VPP PG voltage is outside of range“故障
  12. python计算营业额代码_python计算营业额的代码_python 统计代码行数简单实例
  13. 史玉柱的团队管理之道
  14. 全球隔离,生出不少坏毛病
  15. 【山大会议】多人视频通话 WebRTC 工具类搭建
  16. Matlab批量转换dicom,基于Matlab的批量转换DICOM格式CT序列图像的实现
  17. 医学统计学计算机操作教程第3版pdf,医学统计学 八年制 第3版pdf,9787117205047
  18. Python推荐几个很不错的学习资源
  19. 卡罗拉 (COROLLA) - 灯光开关
  20. 哈夫曼编码(java版+详细代码)

热门文章

  1. 为什么c相电路在前面_Buck电路的多角度分析
  2. Python读写文件(附完整模块化代码)
  3. Redis总结之发布订阅
  4. linux c语言 电子相册,纯C语言开发(电子相册).doc
  5. windows下端口占用解决方法-查看和杀死占用端口进程
  6. 删除数组中的某一个元素
  7. BZOJ1016 [JSOI2008]最小生成树计数
  8. 三星在美最高法院吐苦水,苹果设计专利索赔太多
  9. AngularJS scope 学习
  10. 【mongodb系统学习之三】进入mongodb shell