如果該列表中的值滿足某些條件等於y-nMoments
而我不想從另一個列表(gcounter
)獲取某些變量(m1
)相當於nMoments+1
。如果「any」返回true,則取值python
m1=[[y if y!=nMoments+1 else any(y-nMoments) for y in x] for x in gcounter]
目前這個返回:
[[0, 0], [0, 2], [1, 1], [2, 0], [0, True], [1, 2], [2, 1], [True, 0]]
原來的列表,(gcounter
)是:
[[0, 0], [0, 2], [1, 1], [2, 0], [0, 1], [1, 2], [2, 1], [1, 0]]
但我只想要得到那些True
值,然後數字值,而不是真相聲明。
有誰知道我該如何解決這個問題?我已經嘗試將If語句放入第一行,但是出現語法錯誤。
我想m1
什麼從原來的名單採取的是:
[[1,0] ,[0,1]]
顯示gcounter和desribe要看到出口 – Denis 2013-05-13 13:08:32
它會是什麼如果你只是寫下你的問題就更容易了:1)原始列表,2)期望的結果3)你的代碼到目前爲止。描述和閱讀描述輸出的句子都很難。 – timss 2013-05-13 13:08:50
和'any()'把一個序列作爲輸入,但是從你的例子我看起來'y'和'nMoments'是*整數*;在一個整數上使用'any()'是沒有意義的,並引發一個'TypeError'。 – 2013-05-13 13:10:39