我是靠谱客的博主 故意超短裙,最近开发中收集的这篇文章主要介绍python 列表解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

描述

列表解析在一个序列的值上应用一个任意的表达式,将其结果收集到一个新的列表中并返回。从语法上说,列表解析是由方括号封装起来的(为了提醒你它们构造了一个列表)

语法

[expression for target1 in iterable1 [if condition1]

                        target2 in iterable2 [if condition2] ...

                        targetN in iterableN [if conditionN] ]

参数

expression : 运算表达式

target:迭代元素

iterable:迭代器对象

condition:条件表达式

返回值

一个列表

示例 

示例1

[x for x in range(5) if x%2==0]

输出的结果为

[0, 2, 4]

示例2

 [(x ,
y)
for
x
in
range(5)
if
x
%
2
==
0
for
y
in
range(5)
if
y
%
2
==
1]

输出结果为:

[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]

与for的比较

任何一个列表解析都可以转换成for循环,这里测试两者的计算速度

for循环表达式

import time
start = time.time()
res = []
for
x
in
range(5):
if
x
%
2
==
0:
for
y
in range(5):
if
y
%
2
==
1:
res.append((x ,
y))
end = time.time()
print('Time of use {:.8f}s'.format(end-start))

输出的结果为

Time of use 0.00049996s

列表解析的表达式

import time
start = time.time()
res = [(x ,
y)
for
x
in
range(5)
if
x
%
2
==
0
for
y
in
range(5)
if
y
%
2
==
1]
end = time.time()
print('Time of use {:.8f}s'.format(end-start))

输出的结果为

Time of use 0.0000000000s

可以看到,列表解析的速度快很多。

最后

以上就是故意超短裙为你收集整理的python 列表解析的全部内容,希望文章能够帮你解决python 列表解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部