当前位置: 首页 > 面试题库 >

python中for循环中的[]方括号是什么意思?

范建华
2023-03-14
问题内容

我正在解析JSON对象,并找到了我理解的示例代码行,但希望您对以下内容进行更详细的说明:

for record in [x for x in records.split("\n") if x.strip() != '']:

我知道它是通过换行符来拆分记录以获得单个记录,但是我想知道为什么它看起来如此复杂?我们不能有这样的情况吗:

for record in records.split("\n") if x.strip() != '']:

那么括号[]的作用是什么?为什么我们有两次xx for x in records.split....

谢谢


问题答案:

您的示例中的“方括号”从旧列表中构建了一个新列表,这称为列表理解。

的基本思想[f(x) for x in xs if condition]是:

def list_comprehension(xs):
    result = []
    for x in xs:
        if condition:
            result.append(f(x))
    return result

f(x)可以是任何表达式,含有x或没有。



 类似资料:
  • 我在解析JSON对象时发现了这段示例代码,我对它有点了解,但希望得到更详细的解释: 我知道这是拆分记录,以得到单个记录由新的行字符,但我想知道为什么它看起来这么复杂?是不是我们不能有这样的东西: 那么括号做什么呢?为什么我们在 谢谢

  • 问题内容: 我正在查看类内部,遇到了以下方法: 有人可以解释什么意思吗? 问题答案: 等同于。 for循环包含三个元素: 初始化器 条件(或终止表达式) 增量表达式 没有设置它们中的任何一个,使其成为一个无限循环。 参考:for语句

  • 问题内容: 我看到越来越多的命令是这样的: 这些方括号有什么作用? 问题答案: 您使用的语法是: 就您而言,您就是对的新增支持的软件包。方括号()不是特定的语法,只是约定。确实,您正在安装名为的软件包。 来自的解释: 该命令将安装两个名为和的软件包。,另一方面,安装的一个变体,其包含包 支持 对。请注意,它与程序包本身无关,只是程序包为启用的特定功能集定义的字符串。

  • 问题内容: 我在jQuery文件中找到了这个: 花括号做什么? 问题答案: 在您的情况下,这是一个传递给CSS函数的对象。 在这里你也可以使用 这是物体的另一个例子

  • 问题内容: Java中方法声明的语法如下所示: Java方法声明BNF: 我想知道方括号是什么意思。 谁能给我一个例子吗? Java中的方法声明是否如上(泛型如何)? 在哪里可以找到Java的完整和实际的BNF语法? 问题答案: 方括号表示方法返回数组。例如,您可以编写一个返回int数组的方法,如下所示: 但是,许多人不熟悉此语法,最好避免使用。 您可以在此处找到Java 7的完整语法:http

  • 问题内容: 我发现其中带有方括号的select语句。谁能解释这个括号是什么意思? 例如 谢谢。 问题答案: 根据oracle的文档:http : //docs.oracle.com/cd/B10500_01/text.920/a96518/cqspcl.htm 括号字符用于对术语和字符之间的运算符进行分组;但是,它们阻止了扩展操作员的进入(模糊,音效,词干)。 它是查询中的分组字符。