Python使用一个列表理解创建两个列表

2024-10-03 17:18:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用嵌套for循环一次将数据添加到两个列表中。参见下面的代码。在

headers,在下面的代码中是一个漂亮的soup对象。在

openData = [] 
count = 0
openC = 7

closeData = [] 
closeC = 10

for j in headers:
        for z in j:
            for data in z:
                count += 1
                if count == 1:
                    openData.append(data)
                elif count == openC:
                    openData.append(data)
                    openC += 6

                if count == 4:
                    closeData.append(data)
                elif closeC == count:
                    closeData.append(data)
                    closeC += 6

这里的两个列表是openData和closeData。 作为一个粗略的例子,我知道我可以做一些

^{pr2}$

我担心这将花费大约两倍的时间,因为循环操作正在进行两次。但是有没有办法把这两种说法结合起来

openData, closeData =  [list comprehension]

我也很困惑如何将if,elif逻辑合并到列表理解中。最后,这是我应该做的吗?或者这样做是对列表理解的滥用。我写的上面的代码很有用,但是看起来很难看。我的目标是比我现有的更好的代码。在


Tags: 数据代码in列表fordataifcount
1条回答
网友
1楼 · 发布于 2024-10-03 17:18:31

我的尝试(使用一些基本的初始数据):

#some initial data
data = list(range(20))

openData, closeData = data[1::6], data[4::6]

print(openData, closeData)

印刷品:

^{pr2}$

相关问题 更多 >