Python学习笔记__3.3章 列表生成式

# 这是学习廖雪峰老师python教程的学习笔记

1、概览

列表生成式即List
Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式

1、生成list [1, 2, 3, 4, 5, 6, 7, 8, 9,
10]

list(range(1,
11))

2、列表生成式 [1x1, 2x2, 3x3, ..., 10x10]

[x*x for
x in range(1,11)]

3、使用两层循环

>>>[m
+ n for
m in 'ABC' for n in 'XYZ']

['AX',
'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

4、同时使用两个甚至多个变量

>>>d = {'x': 'A', 'y': 'B', 'z': 'C'
}

[k
+ '=' + v for
k, v in d.items()]  # +
号在此是连接符,不显示。当然+号也可以做 +
算法

5、把一个list中所有的字符串变成小写

>>>L = ['Hello', 'World', 'IBM',
'Apple']

[s.lower() for
s in L]

6、解析

list生成式分为两部分

  • 显示值,【黄.色】,可以对值进行运算(如2题),或加符号(如4题)
  • 筛选值【绿色】,筛选出要操作显示的值

2、例题

编写函数,使 L1的值显示 为 L2

L1 = ['Hello', 'World',
18, 'Apple', None]

L2 == ['hello',
'world', 'apple']

# -*- coding: utf-8
-*-

L1 = ['Hello', 'World',
18, 'Apple', None]

L2 = [x.lower() for x
in L1 if isinstance(x,str)==True]

原文地址:http://blog.51cto.com/12758568/2115630

时间: 2024-11-11 11:12:38

Python学习笔记__3.3章 列表生成式的相关文章

Python学习笔记__3.4章 生成器

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 列表元素按照某种算法推算出来,在循环的过程中不断推算出后续的元素.这种一边循环一边计算的机制,称为生成器:generator 1.1.创建 generator 1)方法一 只要把一个列表生成式的[]改成(),就创建了一个generator L = [x * x for x in range(10)]  #  这是列表生成式 g = (x * x for x in range(10)) #  这是generator >>> g &

Python学习笔记(四) 列表生成式_生成器

笔记摘抄来自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317799226173f45ce40636141b6abc8424e12b5fb27000 本文章仅供自己复习使用,侵删: 列表生成器 # 例如,列出当前目录下的所有文件和目录名,可以通过一行代码实现: import os [d for d in os.listdir('.')] #for循环后面还可以加上

Python学习笔记__3.2章 迭代

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). 当然,不止 list 和 tuple 可以迭代.只要是可迭代对象,无论有无下标,都可以迭代都.包括dict .str .generator 在Python中,迭代是通过for ... in来完成的. 1.1.字典的迭代 # 定义一个字典 d = {'a': 1, 'b': 2, 'c': 3} 迭代 字典

Python学习笔记__3.5章 迭代器

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 我们已经学习了list.tuple.dict.set.str.generator.generator function 这些可以用for 循环的就是可迭代(Iterable)对象. 但其中只有generator 和 generator function,可以被 next() 函数调用. 而能被next函数调用的 Iterable对象,我们称为迭代器(Iterator) 1.1.Iterable 到Iterator 的转化 虽然Itera

<<Python基础教程>>学习笔记 | 第02章 | 列表和数组

第02章: 列表和数组 ------ 在Python中最基本的数据结构是序列,每个元素分配一个序号,即元素的序号,也即索引.注意,需要从0开始,第一位0,第二位为1,依次类推. Python包括: 字符串,列表,元祖,字典 这四种常用数据结构,或者说四种序列,其中元祖为不可变序列. 列表和元祖的主要区别 列表可变,而元祖不可变             >>>list1 = ['Tom',40] 所以元祖: 主要用于存储不变的数据   >>> >>> t

Python学习笔记__4.3章 匿名函数(简洁函数)

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 关键字lambda表示匿名函数 list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) # 列表生成式中的 lambda 实际就是 def f(x): return x * x 但匿名函数有个限制,就是只能有一个表达式. 匿名函数不用写return,返回值就是该表达式的结果 匿名函数因为函数没有名字,不必担心函数名冲突. 此外,匿名函数也是一个函数对象,可以把匿名函数赋值给一个变量

Python学习笔记__8.3章 单元测试

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对函数abs(),我们可以编写出以下几个测试用例: 输入正数,比如1.1.2.0.99,期待返回值与输入相同: 输入负数,比如-1.-1.2.-0.99,期待返回值与输入相反: 输入0,期待返回0: 输入非数值类型,比如None.[].{},期待抛出TypeError. 把上面的测试用例放到一个测试模块里,就是一个完整的单元测试. 单元测试的意义: 方便的检测

Python学习笔记__2.2章 定义函数

# 这是学习廖雪峰老师python教程的学习笔记 1.定义函数 定义一个函数需要有函数名.参数.函数体.函数体中最好还有 传入的参数判断 1.1.函数创建 定义一个函数用def,数据类型检查用isinstance.例子如下: def my_abs(x): if not isinstance(x, (int, float)):    # 判断传入的参数,是否是 ××× 或 浮点形 raise TypeError('bad operand type')  #  抛出错误 if x >= 0: ret

Python学习笔记__4.1章 高阶函数

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 我们知道Python内置的求绝对值的函数是abs() # 调用abs()函数可以获得一个值 >>> abs(-10) 10 # 那么,只写abs本身呢 >>> abs <built-in function abs> 可见,abs(-10)是函数调用,而abs是函数本身 1.1.将函数赋给变量 将函数赋给变量只有两种情况: 把函数计算得到的 结果 赋给变量 f=abs(-10) 把 函数本身 赋给变量