美文网首页
python列表解析

python列表解析

作者: wind_103 | 来源:发表于2020-12-18 22:31 被阅读0次

https://blog.csdn.net/qq_27361945/article/details/79816843

列表解析

  根据已有列表,高效创建新列表的方式。

  列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。

语法:

  [expression for iter_val in iterable]

  [expression for iter_val in iterable if cond_expr]

如:1、列出1~10所有数字的平方,即如何用一行代码生成[1,4,9,16,25,36,49,64,81,100] ?

list = [i ** 2 for i in range(1, 11)]

print(list)

#另外一种使用for循环的方法:

L = []

for i in range(1, 11):

    L.append(i ** 2)

print(L)

结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2、列出1~10中大于等于4的数字的平方

list = [i ** 2 for i in range(1,11) if i >= 4]

print(list)

L = []

for i in range(1, 11):

    if i >= 4:

        L.append(i ** 2)

print(L)

结果:[25, 36, 49, 64, 81, 100]

3、列出1~10所有数字的平方除以2的值

list = [i ** 2/2 for i in range(1, 11)]

print(list)

L = []

for i in range(1, 11):

    L.append(i ** 2/2)

print(L)

结果:[0, 2, 4, 8, 12, 18, 24, 32, 40, 50]

4、列出"/var/log"中所有已'.log'结尾的文件

import os

file = [file for file in os.listdir('/var/log') if file.endswith('.log')]

print file

file = []

for i in os.listdir('/var/log'):

    if file.endswith('.log'):

        file.append(file)

print file

结果:['boot.log', 'cloud-init.log', 'yum.log', 'mysqld.log', 'ldap.log', 'krb5kdc.log', 'kadmind.log']

5、实现两个列表中的元素逐一配对

list1 = ['a', 'b', 'c']

list2 = [1, 2, 3]

list3 = []

for a in list1:

    for b in list2:

        list3.append((a, b))

print(list3)

list1 = ['a', 'b', 'c']

list2 = [1, 2, 3]

list3 = [(a, b) for a in list1 for b in list2 ]

print(list3)

结果:[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1), ('c', 2), ('c', 3)]

6、使用列表解析生成 9*9 乘法表

print('\n'.join([''.join(['%s*%s=%-2s '%(y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))

结果:

1*1=1 

1*2=2  2*2=4 

1*3=3  2*3=6  3*3=9 

1*4=4  2*4=8  3*4=12 4*4=16

1*5=5  2*5=10 3*5=15 4*5=20 5*5=25

1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

相关文章

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • python 列表解析式:i for n in m的代码形式

    python 列表解析式:i for n in m的代码形式理解 列表解析 根据已有列表,高效创建新列表的方式。...

  • Python 基本数据类型

    1. Python 内置数据类型2. Python 列表解析

  • Python 列表解析

    列表解析 在python中我们可以用列表解析的方法直接生成一个列表,这个叫做解析法来生成列表。类似于数学中,我们用...

  • python 生成器详述

    参考python核心变成第二版 列表解析 在介绍生成器表达式之前,先来介绍一下列表解析 列表解析(List com...

  • Python之解析式与生成器

    1.列表解析式 列表解析式是将数据全部存储在内存中一并返回; 列表解析是Python迭代机制的一种应用,它常用于实...

  • Python学习打call第十五天:解析式与生成器

    1.列表解析式 列表解析式是将数据全部存储在内存中一并返回; 列表解析是Python迭代机制的一种应用,它常用于实...

  • python中的列表解析与列表,字典,集合筛选数据

    python中的列表解析与列表,字典,集合筛选数据 1.列表list randint()生成指定范围下(-100,...

  • Python 各种推导式

    python 列表推导式 执行结果 生成器表达式 1 把列表解析的[]换成()得到的就是生成器表达式 2 列表解析...

  • 列表解析

    列表解析是python总要的语法糖,列表解析的速度比for in 迭代快 基础语法 等价代码如下: 带条件的类表解...

网友评论

      本文标题:python列表解析

      本文链接:https://www.haomeiwen.com/subject/guafnktx.html