python列表生成式、列表推导式
运用列表生成式,可以快速生成list,可以通过一个list推导出另一个list,而代码却十分简洁。
格式
[x for x in 内容]
[x for x in 内容 if 条件]
1:要把生成的元素x放到前面,执行的时候,先执行后面的for循环
2:后面跟上for循环 可以有多个for循环,也可以在for循环后面加个if条件
3:for循环后面可以是任何方式的迭代器(元组,列表,生成器。。)只要可以迭代的对象中有一个值。
1:单循环列表生成式
字符串生成列表
print([x for x in 'abcd'])#['a', 'b', 'c', 'd']
列表生成列表
print([x for x in range(10)] )#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表生成列表 if条件
print([x for x in range(10) if x > 5] )#[6, 7, 8, 9]
2:双循环列表生成式
print( [m + n for m in 'ABC' for n in 'XYZ'])#['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
参看文档:列表生成式--廖老师博客
python列表生成式、列表推导式的更多相关文章
- Python函数04/生成器/推导式/内置函数
Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...
- Python迭代器生成器,私有变量及列表字典集合推导式(二)
1 python自省机制 这个是python一大特性,自省就是面向对象的语言所写的程序在运行时,能知道对象的类型,换句话说就是在运行时能获取对象的类型,比如通过 type(),dir(),getatt ...
- python数据类型详解及列表字典集合推导式详解
一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a ...
- python3 列表/字典/集合推导式
'''列表推导式[结果 fox循环 if语句]'''lst = ["Python周末%s期" % i for i in range(1, 27) if i%2 == 0]print ...
- PythonStudy——列表与字典推导式 List and dictionary derivation
# 快速生成列表或字典的语法糖,且能在生成过程中添加简单的逻辑 # 能被列表推导式推导的数据源必须在循环取值时可以得到一个值 ls = [v for v in range(1, 6)] print(l ...
- python 三元运算符、推导式、递归、匿名函数、内置函数
三目运算符 # 三目(元)运算符:就是 if...else...语法糖 # 前提:简化if...else...结构,且两个分支有且只有一条语句 # 注:三元运算符的结果不一定要与条件直接性关系 cmd ...
- python 生成器和各种推导式
##################################总结############################### 什么是迭代器? 可迭代对象通过__iter__()可以转换成迭代 ...
- Python 的几种推导式
推导式 comprehensions(又称解析式):是 Python 中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1. 列表推导式 2. 字典推导式 3. 集合推导式 对以上 ...
- python学习笔记013——推导式
1 推导式简介 推导式comprehensions(又称解析式),是Python的一种独有特性. 推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 推导式有三种形式: 1)列表推导式 (li ...
- python生成器和各种推导式
一. 生成器 本质就是迭代器. 一个一个的创建对象 创建生成器的方式: 1. 生成器函数 2. 通过生成器表达式来获取生成器 3. 类型转换(看不到) 二. 生成器函数 (重点) 生成器函数中包含 y ...
随机推荐
- Flume启动时报错Caused by: java.lang.InterruptedException: Timed out before HDFS call was made. Your hdfs.callTimeout might be set too low or HDFS calls are taking too long.解决办法(图文详解)
前期博客 Flume自定义拦截器(Interceptors)或自带拦截器时的一些经验技巧总结(图文详解) 问题详情 -- ::, (agent-shutdown-hook) [INFO - org.a ...
- 百度地图sdk使用
1.android开发百度地图定位,我怎么老是定到几内亚湾 权限问题,首先安卓6.0之后的Android的系统需要动态申请权限. 然后百度地图的sdk的不同功能,申请的权限不同,每个功能都需要看官方文 ...
- STM32F030 使用硬件 SPI
前言 以前玩过一点 STM32 单片机(主要是 STM32F103 系列),去年(2017)STM32F1 涨到不知哪里去了,今年好像降下来了.F0 系列相比 F1 系列少了一些功能,最高主频只到 4 ...
- windwos-sshfs
从 http://www.jianshu.com/p/d79901794e3d 转载 目的 最近因为需要在linux虚拟机里进行开发程序,虽然在linux里有超强的编辑器vim,但vim开发html前 ...
- js 联动下拉菜单
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Codeforces Round #305 (Div. 2) B
Description Mike and some bears are playing a game just for fun. Mike is the judge. All bears except ...
- javasript
ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国 ...
- Realm数据库的使用
https://github.com/lipanquan/Realm/tree/master
- mongodb在windows下安装
下载地址:https://www.mongodb.com/download-center/community 我下载的是zip版本 新建目录:data |_db |_log cmd到所下载的mongo ...
- poj 1001 字符串乘法以及处理精度问题
#include<iostream> #include<cstring> using namespace std; int main() { string r; int n,d ...