我如何在 python 的列表理解中写这个
How do i write this in list comprehension in python
我想编写一个列表理解,它将每隔一个元素从数组中打印一个元素。我该怎么做?
for item in results:
record = extract_record(item)
if record:
records.append(record)
在 Python 3.8 或更高版本中,您可以使用赋值表达式并执行类似
的操作
records = [record for item in results if (record := extract_record(item))]
这避免了两次提取记录。
上面的列表推导等价物是:
records = [extract_record(item) for item in results if extract_record(item)]
请注意 extract_record()
需要两次,因此用处不大。
我想编写一个列表理解,它将每隔一个元素从数组中打印一个元素。我该怎么做?
for item in results:
record = extract_record(item)
if record:
records.append(record)
在 Python 3.8 或更高版本中,您可以使用赋值表达式并执行类似
的操作records = [record for item in results if (record := extract_record(item))]
这避免了两次提取记录。
上面的列表推导等价物是:
records = [extract_record(item) for item in results if extract_record(item)]
请注意 extract_record()
需要两次,因此用处不大。