看个例子:

# 定义一个列表
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']

python:列表生成式的学习的更多相关文章

  1. Python列表生成式(入门9)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407984.html 本文出自:[Edwin博客园] Python列表生成式 1. 生成列表 L = [] ...

  2. Python 列表生成式 & 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  3. Python 列表生成式、生成器、迭代器

    列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么 ...

  4. python列表生成式

    在Python编程中,list列表应用的比较广泛,而列表生成式是一个非常强大但是使用很简单的功能. 比如要生成1到100的数组列表[1,2,3,4......,97,98,99,100],可以使用li ...

  5. python 列表生成式,生成器&迭代器

    列表生成式: 需求:要对列表 [0,1,2,3,4,5,6,7,8,9]的每个元素加1 用列表生成式一步搞定: li = [i+1 for i in range(10)] # 这种写法就叫列表生成式 ...

  6. 初学Python——列表生成式、生成器和迭代器

    一.列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: a=[1,2,3,4,5,6,7,8,9 ...

  7. 【370】Python列表生成式(for 写入一行)

    参考: python用列表生成式写嵌套循环的方法_python_脚本之家 参考: python之列表生成式 - 旷野足迹 - 博客园 对于读取Twitter数据最终会得到一个超级复杂的json文件, ...

  8. 【转】Python 列表生成式

    原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...

  9. python 列表生成式、lower()和upper()的使用

    参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196389 ...

随机推荐

  1. 字符串、bute[]数组和十六进制字符串的相互转换

    1.字符串转换成十六进制字符串 public static String str2HexStr(String str) { if (EncodingUtil.isEmpty(str)) { retur ...

  2. html 5 cavans 简易祖玛

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 基于 HTML5 WebGL 的发动机 3D 可视化系统

    前言     工业机械产品大多体积庞大.运输成本高,在参加行业展会或向海外客户销售时,如果没有实物展示,仅凭静态.简单的图片说明书介绍,无法让客户全面了解产品,不仅工作人员制作麻烦,客户看得也费力.如 ...

  4. oracle--触发器(转)

    转载自http://blog.csdn.net/indexman/article/details/8023740/ 触发器是许多关系数据库系统都提供的一项技术.在oracle系统里,触发器类似过程和函 ...

  5. 玩转控件:扩展Dev中SimpleButton

    何为扩展,顾名思义,就是在原有控件属性.事件的基础上拓展自己需要或实用的属性.事件等等.或者可以理解为,现有的控件已经不能完全满足我(的需求)了.好的扩展会使控件更加完善,实用,好用.不好的扩展,说白 ...

  6. Kubernetes中Pod健康检查

    目录 1.何为健康检查 2.探针分类 2.1.LivenessProbe探针(存活性探测) 2.2.ReadinessProbe探针(就绪型探测) 3.探针实现方法 3.1.Container Exe ...

  7. 您知道SASS吗?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://blog.bitsrc.io/4-reasons-to-use-sass-in-y ...

  8. DRF之APIView源码简析

    一. 安装djangorestframework 安装的方式有以下三种,注意,模块就叫djangorestframework. 方式一:pip3 install djangorestframework ...

  9. python使用argparse 、paramiko实现服务器管理器

    使用argparse,paramiko两个包去实现简易的服务器管理器,完成两种方式的连接( 密码和密钥 ),以及命令行交互,文件上传下载. 相比sys.argv的方式去判断传入的参数,如果参数较多那么 ...

  10. 【i春秋综合渗透测试】《我很简单,请不要欺负我》

      第2题:获取目标网站管理员的密码 扫到了后台(/admin),本来想用sqlmap跑一下,但是随便试了个弱口令(admin888)就进去了...   第3题: getshell 配置插马:登录后台 ...