python中for循环中的[]括号是什么意思?
我正在解析JSON对象,发现了这行代码示例,我有点理解,但希望能对以下内容进行更详细的解释:python中for循环中的[]括号是什么意思?,python,Python,我正在解析JSON对象,发现了这行代码示例,我有点理解,但希望能对以下内容进行更详细的解释: for record in [x for x in records.split("\n") if x.strip() != '']: 我知道这是分裂的记录,以获得个人记录的新行字符,但我想知道为什么它看起来这么复杂?是不是我们不能有这样的东西: for record in records.split("\n") if x.strip() != '']: 那么括号的作用是什么[]?为什么我们在x记录中
for record in [x for x in records.split("\n") if x.strip() != '']:
我知道这是分裂的记录,以获得个人记录的新行字符,但我想知道为什么它看起来这么复杂?是不是我们不能有这样的东西:
for record in records.split("\n") if x.strip() != '']:
那么括号的作用是什么[]?为什么我们在x记录中有x两次。拆分….
谢谢这是一种列表理解,一种在特定条件下动态创建列表的简洁方法 您可以将其简化为以下内容:
a = []
for record in records.split("\n"):
if record.strip() != '':
a.append(record)
for record in a:
# do something
示例中的“括号”从旧列表构造新列表,这称为
[f(x)表示x在xs if条件下]
的基本思想是:
def list_comprehension(xs):
result = []
for x in xs:
if condition:
result.append(f(x))
return result
f(x)
可以是任何表达式,包含或不包含x
。方括号([])通常表示Python中的列表。这是一个列表理解,请参阅相关内容:EdChum是对的(duh);请注意,这与循环无关。这种表示法是创建列表的一种简洁方法。一个循环也可以在列表上迭代。感谢你们两位的输入,顺便说一句,人们喜欢这里的向下投票问题。如果你打算否决一个问题,那么我认为你应该留下一条评论,说明原因。我认为这是一个有效的编程问题,我在其他任何地方都找不到,也不知道如何搜索。@Mo。请看:是的,它们表示一个列表,但还有什么?