我目前正在使用嵌套for循环一次将数据添加到两个列表。见下面的代码。
标题,在下面的代码中是一个美丽的汤对象。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。作为一个粗略的例子,我知道我可以做类似的事情openData = [data for j in headers for z in j for data in z]
closeData = [data for j in headers for z in j for data in z]
我担心自从循环操作执行两次以来,这将花费大约两倍的时间。但是有没有办法将两种语句结合起来openData, closeData = [list comprehension]
我也很困惑如何将if,elif逻辑合并到列表理解中。最后,这是我应该做的事情吗?或者这样做是滥用列表理解。我编写的上述代码有效,但看起来很难看。我的目标是比我拥有更好的代码。