gpt4 book ai didi

python - 外部循环第一次迭代后嵌套 for 循环未运行

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:27 24 4
gpt4 key购买 nike

我有一个程序,可以将股票代码和扇区列表加载到名为 etfStocks 的列表中。它看起来像下面这样:

etfStocks = [('AAPL', 'Technology'), ('FB', 'Technology'), ('SPG', 'Real Estate'), ...]

然后我有另一个列表,其中我将每个扇区加载到名为“sectorList”的列表中。它看起来像下面这样:

sectorList = ('Technology', 'Real Estate', 'Industrials', ...)

我正在尝试迭代扇区列表列表并将给定扇区的每个股票代码加载到它们自己的列表中,然后对其进行分析。下面的脚本对于第一遍来说效果很好,但是当循环进入第二个扇区时,它永远不会重建扇区股票列表。我尝试在下面的代码和嵌套 for 循环之间切换,但似乎没有任何效果。

有人知道为什么它不会重新迭代嵌套循环吗?

sectorStocks = []

for sector in sectorList:
sectorStocks.clear()
sectorStocks = [i[0] for i in etfStocks if i[1] == sector]

print("Computing statistics for: %s" % sector)

最佳答案

似乎在这里工作。

也许您想要一个groupBy

from itertools import groupby
from operator import itemgetter

etfStocks = [('AAPL', 'Technology'), ('FB', 'Technology'), ('SPG', 'Real Estate')]

sectorList = ('Technology', 'Real Estate', 'Industrials')

stocks_by_sector = {k:list(v) for k,v in groupby(etfStocks, itemgetter(1))}

for sector, stocks in stocks_by_sector.items():
print(sector, stocks)

https://repl.it/E10r/1

关于python - 外部循环第一次迭代后嵌套 for 循环未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40662688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com