当前位置: 首页 > 知识库问答 >
问题:

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() != '']:

那么括号做什么呢?为什么我们在记录中有两次x。split....

谢谢

共有2个答案

淳于健
2023-03-14

这是一个列表理解,一个创建列表的简单方法,在飞行中有一定的条件。

您可以将其缩写为以下内容:

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

for record in a:
    # do something
鲁辉
2023-03-14

示例中的“brackets”从一个旧列表构造一个新列表,这称为列表理解。

[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或不包含x

 类似资料:
  • 问题内容: 我正在解析JSON对象,并找到了我理解的示例代码行,但希望您对以下内容进行更详细的说明: 我知道它是通过换行符来拆分记录以获得单个记录,但是我想知道为什么它看起来如此复杂?我们不能有这样的情况吗: 那么括号[]的作用是什么?为什么我们有两次x 谢谢 问题答案: 您的示例中的“方括号”从旧列表中构建了一个新列表,这称为列表理解。 的基本思想是: 的可以是任何表达式,含有或没有。

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

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

  • 问题内容: 当我尝试在中使用语句时,它给了我这个错误: 这意味着什么? 问题答案: 此错误消息表示你尝试使用Python 3遵循示例或运行使用Python 2 print语句的程序: 上面的语句在Python 3中不起作用。在Python 3中,你需要在要打印的值周围添加括号: “ 对的调用中缺少括号”是Python 3.4.2中新增的一条错误消息,主要用于帮助试图在运行Python 3时遵循Py

  • 当我尝试在Python中使用语句时,它会给我这个错误: 那是什么意思?

  • 问题内容: 我一直以为括号中的数字代表字段长度?但是,我了解并非总是如此。也许这是一个MySQL问题?有人告诉我,如果我将一个字段设置为9个字符长,我可以添加一个超过9个字符的值,但只会保存前9个字符。 例子… 如果是这样,我是否不应该选择TINYINT之类的东西代替INT? 问题答案: 将生成一个最小显示宽度为2的INT : MySQL支持扩展,可以选择在整数类型的基本关键字之后的括号中指定整数