栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

列表理解如何平化python列表?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

列表理解如何平化python列表?

然后,让我们看一下列表理解,但首先让我们从最简单的列表理解入手。

l = [1,2,3,4,5]print [x for x in l] # prints [1, 2, 3, 4, 5]

您可以将其视为与for循环一样的结构,如下所示:

for x in l:    print x

现在让我们来看另一个:

l = [1,2,3,4,5]a = [x for x in l if x % 2 == 0]print a # prints [2,4]

与此完全相同:

a = []l = [1,2,3,4,5]for x in l:    if x % 2 == 0:        a.append(x)print a # prints [2,4]

现在,让我们看一下您提供的示例。

l = [[1,2,3],[4,5,6]]flattened_l = [item for sublist in l for item in sublist]print flattened_l # prints [1,2,3,4,5,6]

要进行列表理解,请从最左边的for循环开始,然后逐步进行操作。在这种情况下,将添加变量item。它将产生以下结果:

l = [[1,2,3],[4,5,6]]flattened_l = []for sublist in l:    for item in sublist:        flattened_l.append(item)

现在是最后一个

exactly_the_same_as_l = [item for item in sublist for sublist in l]

使用相同的知识,我们可以创建一个for循环,看看它的行为L

for item in sublist:    for sublist in l:        exactly_the_same_as_l.append(item)

现在,上述方法起作用的唯一原因是,当创建flattened_l时,它也创建了

sublist
。这是为什么没有引发错误的一个范围界定的原因。如果您运行时未先定义flattened_l,则会得到一个
NameError



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626245.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号