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‘]

参看文档:列表生成式--廖老师博客

时间: 2024-10-07 05:02:38

python列表生成式、列表推导式的相关文章

Python 列表\集合\ 字典推导式、生成器表达式

Python 列表\集合?字典推导式.生成器表达式 列表推导式 循环模式 l1 = [i for i in range(1,11)] l2 = [i ** 2 for i in range(100)] l3 = [f'python{i}' for i in range(50)] 筛选模式: l1 = [i for i in range(1,31) if i % 3 == 0] 嵌套循环: names = [['tom','billy','jefferson'],['wesley','steven

python中的链表推导式

python中的链表推导式 博客分类: Python Python Python代码   num=[1,2,3] myvec=[[x,x*2] for x in num] #嵌套一个链表,格式为一个数和他的平方 print myvec 生成链表很简单的一种办法就是链表推导式,不仅容易看懂,还很好用: 链表表达式在for语句前面,for后面就是对参数的限定.[XXX for yyy](必须要有方括号表示是链表),XXX表示链表,yyy限定XXX中参数. 例子: Python代码   num=[1,

python数据类型详解及列表字典集合推导式详解

一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a + b) 比较运算符 例: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 if a < b: print(True) else: print(False) 赋值运算符 例: #!/usr/bin/env python # -*- c

python 三元运算符、推导式、递归、匿名函数、内置函数

三目运算符 # 三目(元)运算符:就是 if...else...语法糖 # 前提:简化if...else...结构,且两个分支有且只有一条语句 # 注:三元运算符的结果不一定要与条件直接性关系 cmd = input('cmd: ') print('可以转化为数字') if cmd.isdigit() else print('不可以转化为数字') a = 20 b = 30 res = a if a > b else b # 求大值 print(res) res = 'b为小值' if a >

python函数知识五 推导式和内置函数一(了解)

17.推导式: 推导式:将for循环多行变成一行 list推导式:[] #普通模式 print([i for i in range(20)]) #循环模式 #[变量 for i in range(20)] print([i+1 for i in range(10)]) #筛选模式 #[变量(加工后) for i in range(20)] print([i for i in range(20) if i % 2 == 1]) 生成器表达器:() #普通模式 print((i for i in r

python列表生成式、生成器,迭代器与二分法

一.列表生成式 列表生成式是快速生成一个列表的一些公式 列表生成式的书写格式:[x*x for x in range(1 , 11)] 列表生成式语法是固定的,[]里面for 前面是对列表里面数据的运算操作,后面跟平常for循序一样遍历去读取.运行后会自动生成新的列表 一般列表生成式 list1 = list(range(1,10)) #不使用列表生成式生成列表 list2 = [x for x in range(1,10)] #使用列表生成式生成列表 print(list1) print(li

python学习进度9(列表生成式,生成器和迭代器)

列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): >>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>>

Python高级特性:Python迭代、生成器、列表生成式

迭代 给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration). 在java和C语言中,迭代是通过循环list的下标来完成的,Python中迭代的抽象程度更高,不仅可以迭代list和tuple,而且可以迭代任何可迭代对象,包括我们自己创建的数据类型,只要符合迭代条件,无论有无下标,都可以使用for循环. Python中的迭代是通过for -in -来完成的. 字典的迭代 比如字典就是可以迭代的: 1 >>> d = {'a

Python的高级特性之切片、迭代、列表生成式、生成器

切片 切片就是获取一个list.tuple.字符串等的部分元素 1 l = range(100) 2 #取[0,5)元素 3 print(l[:5]) #[0, 1, 2, 3, 4] 4 #在[0,99]中每隔10个元素取一个 5 print( l[::10]) #[0, 10, 20, 30, 40, 50, 60, 70, 80, 90] 6 #取最后五个元素 7 print( l[-5 : ]) #[95, 96, 97, 98, 99] 8 9 str = "www.genekang.

pythopn 列表生成式

列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = [] >&