2 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
問題是你如何迭代
featList = [[Feature() for j in range(3)] for i in range(10)]
功能列表列表
a = [f for f in [r for r in featList]]
a 是一個功能列表列表(仍然)你可以這樣做
a = [ f for r in featList for f in r]
這是一個 f 的列表,所以現(xiàn)在你可以做你想做的。
[ print(str(f)) for r in featList for f in r]
如果您在Python 的文檔中看到 List Comprehension 部分的最后一部分
你會看到這個例子,對于這樣的情況(雙重列表理解)
把它當(dāng)作常規(guī) for
# Regular for
for a in A
for b in A
f(b)
# Comprehended Loop
a = ( f(b) for a in A for b in a)
除了語句之外,它的順序幾乎相同。

TA貢獻1859條經(jīng)驗 獲得超6個贊
它適用于列表理解,但你應(yīng)該重寫你的列表理解
[print(f) for r in featList for f in r]
如果你想跑
[print(str(f)) for f in [r for r in featList]]
比你可以實現(xiàn)__repr__的Feature:
def __repr__(self) -> str:
return 'f'
希望它會幫助你:)
添加回答
舉報