python基础——列表推导式
python基础——列表推导式
1 列表推导式定义
列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形
2 列表推导式语法
基本格式如下:
[expr for value in collection ifcondition]
过滤条件可有可无,取决于实际应用,只留下表达式
列表推导式例子:
l=["egg%s"%i for i in range(10)]
print(l)
类似于这段for代码:
egg_list=[]
for i in range(10):
egg_list.append("egg%s"%i)
print(egg_list)
列表推导式还可以加更多的if判断for循环
l=['egg%s' %i for i in range(1,101)]
l=['egg%s' %i for i in range(1,101) if i >50 ]
l=['egg%s' %i for i in range(1,101) if i >50 if i<60]
print(l)
3 列表推导式优点
方便,改变了编程习惯,属于声明式编程
举例:
l=[1,2,3,4]
s="hello"
l1=[(num,i) for num in l for i in s]
print(l1)
输出结果为:
[(1, 'h'), (1, 'e'), (1, 'l'), (1, 'l'), (1, 'o'), (2, 'h'), (2, 'e'), (2, 'l'), (2, 'l'),
(2, 'o'), (3, 'h'), (3, 'e'), (3, 'l'), (3, 'l'), (3, 'o'), (4, 'h'), (4, 'e'), (4, 'l'),
(4, 'l'), (4, 'o')]
这个列表推导式相当于:
l=[1,2,3,4]
s="hello"
l1=[]
for num in l:
for i in s:
t=(num,i)
l1.append(t)
print(l1)

4 列表表达式例子
import os
g=os.walk("C:\python_fullstack_wen\day24\wen")
file_path_list=[]
for i in g:
for j in i[-1]:
file_path_list.append("%s\\%s"%(i[0],j))
print(file_path_list) g=os.walk("C:\python_fullstack_wen\day24\wen")
file_path_list=["%s\\%s"%(i[0],j) for i in g for j in i[-1]]
print(file_path_list)
输出结果:
['C:\\python_fullstack_wen\\day24\\wen\\yan1.txt', 'C:\\python_fullstack_wen\\day24\\wen\\wen1
\\yan1.txt', 'C:\\python_fullstack_wen\\day24\\wen\\wen1\\jie1\\yan1.txt',
'C:\\python_fullstack_wen\\day24\\wen\\wen1\\yan1\\yan1.txt',
'C:\\python_fullstack_wen\\day24\\wen\\wen2\\yan2.txt']
['C:\\python_fullstack_wen\\day24\\wen\\yan1.txt', 'C:\\python_fullstack_wen\\day24\\wen\\wen1\\yan1.txt', 'C:\\python_fullstack_wen\\day24\\wen\\wen1\\jie1\\yan1.txt', 'C:\\python_fullstack_wen\\day24\\wen\\wen1\\yan1\\yan1.txt', 'C:\\python_fullstack_wen\\day24\\wen\\wen2\\yan2.txt']
python基础——列表推导式的更多相关文章
- Python基础-列表推导式
python中列表推导式有三种数据类型可用:列表,字典,集合 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 1,列表推导式 ...
- Python基础-列表推导式、匿名函数、os/sys/time/datetime/pymysql/xlwt/hashlib模块
列表推导式 [表达式 for 变量 in range(n) if 条件] 等效于 for 变量 in in range(n): if 条件: 表达式 优点:书写方便,缺点:不易读 注意:用的是方括号 ...
- python 3列表推导式的的一点理解!
python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...
- Python的列表推导式
1.列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 2.举例说明: #!/usr/bin/python # -*- codi ...
- Python函数——列表推导式、生成器与迭代器
列表推导式 产生背景 现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,你怎么实现? 第一种方法: a = [1,3,4,6,7,7,8,9 ...
- Python之列表推导式
我们经常需要这样处理一个列表:把一个列表里面的每个元素, 经过相同的处理 ,生成另一个列表. 比如:一个列表1,里面都是数字,我们需要生成一个新的列表B,依次存放列表A中每个元素的平方 怎么办? 当然 ...
- python - list 列表推导式
一.如有两个list,分别为: a = [1,2,3,4,5,6]b = ["a","b","c","d"," ...
- Python基础---三大推导式
推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据结构构建另一个新的数据结构的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...
- Python的列表推导式,字典推导式,集合推导式使用方法
推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...
随机推荐
- 使用枚举enum
枚举可以把常量按照类别组织起来, 并且提供了构造方法和其他访问方法 用法: package com.nel.testPro.useage.use_enum; public enum Color imp ...
- 笔记:Spring Cloud Eureka 服务治理
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,服务 ...
- 笔记:Spring Boot 项目构建与解析
构建 Maven 项目 通过官方的 Spring Initializr 工具来产生基础项目,访问 http://start.spring.io/ ,如下图所示,该页面提供了以Maven构建Spring ...
- vue+webpack+element-ui+git
webpack.config.jsconst { resolve } = require('path') const webpack = require('webpack') const HtmlWe ...
- 吐槽net下没有靠谱的FastDFS的sdk之使用thrift实现JAVA和C#互通
事情是这样的,在一个新项目中引入了fastdfs,用这玩意做一些小数据的存储还是很方便的,然后在nuget上就找一个对接FastDFS的sdk,如下图: 一眼就看到了这个top1的sdk,应该会比较靠 ...
- JVM学习七:JVM之类加载器之类的卸载
类加载的过程和原理,以及双亲委派机制都已经讲解完成,那么我们今天讲解类加载的最后一节,那么就是类的卸载. 我们知道,当一个类被加载.连接和初始化之后,他的生命周期就开始了,当该类的class对象不再被 ...
- java 单向链表实现
1 class Node{//Node类 2 private String data; 3 private Node next; 4 public Node(String data){ 5 this. ...
- Android,资料分享(2015 版)
Java 学习 我要再次强调,一定要有Java 基础(虽然现在使用其他语言也可以开发Android,但毕竟是很小众),也不要认为学习Java 两三周就可以不用管了,这会在以后的深入学习中暴露出问题,所 ...
- 基于Multiple treatment的营销评估算法
营销是发现或挖掘准消费者和众多商家需求,通过对自身商品和服务的优化和定制,进而推广.传播和销售产品,实现最大化利益的过程.例如,银行可通过免息卡或降价对处在分期意愿边缘的用户进行营销,促使其分期进而提 ...
- C语言第五次作业函数
一.PTA实验作业 题目1: 6-6 使用函数输出水仙花数 1.本题PTA提交列表 2.设计思路 1.narcissistic函数 1.由于number的值后面会变化,所以定义d,e用于储存numbe ...