此列表理解不起作用:
buy_prices = [(buylow := round(0.997 + ii/10000.0, 5), max(jj, buylow)) for jj in [buylow, 0.9982] for ii in range(21)]NameError: name 'buylow' is not defined
这个也不是:
buy_prices = [(buylow, max(jj, buylow)) for jj in [buylow := round(0.997 + ii/10000.0, 5), 0.9982] for ii in range(21)]SyntaxError: assignment expression cannot be used in a comprehension iterable expression
我该怎么做?还是我只需要为buylow做两次循环计算?
发布于 2022-04-22 04:55:16
我强烈建议不要使用嵌套列表理解,因为这对许多人来说不是很容易读懂。
相反,也许是这样的:
buy_prices = list()
for ii in range(21):
buylow = round(.997 + ii / 10000, 5)
for jj in (buylow, .9982):
buy_prices.append((buylow, max(jj, buylow))https://stackoverflow.com/questions/71963465
复制相似问题