Python out=[t中的项目lt中的项目]这将如何执行

Python out=[t中的项目lt中的项目]这将如何执行,python,Python,out=[item for t in lt for item in t],这个循环将如何执行,请详细说明,因为我是python初学者,所以我很难理解这个概念 lt = [('Geeks', 2), ('For', 4), ('geek', '6')] out = [item for t in lt for item in t] print(out) 您的列表理解将按以下方式执行: out = [] for t in lt: for item in t: o

out=[item for t in lt for item in t]
,这个循环将如何执行,请详细说明,因为我是python初学者,所以我很难理解这个概念

 lt = [('Geeks', 2), ('For', 4), ('geek', '6')] 

 out = [item for t in lt for item in t] 

 print(out)

您的列表理解将按以下方式执行:

out = []
for t in lt:
    for item in t:
        out.append(item)
结果将是一个扁平列表

请注意,列表理解中
for
循环的从左到右顺序与扩展版本中
for
循环的从外到内顺序相同

   lst =  [item for t in lt for item in t]
上面的代码与下面的代码类似

lst = []
for t in lt:
    for item in t:
        lst.append(item)
列表理解:

列表理解提供了创建列表的简明方法。它包括 包含表达式后跟for子句的括号,然后 零个或多个for或if子句。表达式可以是任何东西, 这意味着您可以在列表中放入各种对象

在代码中,您在列表理解中进行了双重迭代,这相当于:

out = []
for t in lt:
    for item in t:
        out.append(item)
print(out)
for item in list:
    if conditional:
        expression
列出理解力

列表理解提供了创建列表的简明方法

它由括号组成,括号中包含表达式,后跟for 子句,则零个或多个for或if子句。表达式可以是 任何东西,这意味着你可以在列表中放入各种对象

结果将是计算表达式后产生的新列表 在其后的for和if条款的上下文中

语法

列表理解从一个
'['
']'
开始,以帮助您 记住,结果将是一个列表

基本语法是:

[ expression for item in list if conditional ]
这相当于:

out = []
for t in lt:
    for item in t:
        out.append(item)
print(out)
for item in list:
    if conditional:
        expression
让我们把它分解一下,看看它能做什么

new_list = [expression(i) for i in old_list if filter(i)]
新列表
:新列表(结果)

表达式(i)
:表达式基于每个表达式使用的变量 旧列表中的元素

for i in old_lis
t:for一词后跟变量名to 使用,后跟旧列表中的单词

if过滤器(i)
:使用if语句应用过滤器


让我们按照流程的顺序一步一步地进行:

  • 它将首先遍历名为
    lt

  • 然后,遍历
    t
    ,这是
    lt
    中的每个值,它现在是一个嵌套循环

    [('geek',2),('For',4),('geek',6')]

  • 然后,我们最终在末尾返回每个
    ,这将导致列表中的6个元素


它将打印单个列表中的每个元素。基本上,这是将元组列表展平到它所调用的列表。它提供了创建列表的简洁方法。如果您对列表的理解感到满意,那么唯一的附加步骤就是知道“x中的x中的项对应于x中的项”是从左到右、从外到内读取的。如果您不熟悉列表理解,您可能需要阅读教程。