![](/img/trans.png)
[英]Given a 2D list (matrix), how to find the largest element and print its row and column number?
[英]Need an efficient way to find number of rows in a 2D list which has specific element in one of its coulmns
說我有一個二維列表(數組),如下所示
[[1,'BUY',2015],
[2,'SELL',2015],
[3,'SELL',2015],
[4,'BUY',2015],
[5,'SELL',2015],
...
...
... n rows
]
現在,我需要一段代碼來查找上述2D列表中所有第二行的計數,該第二行的第二列被賦值為'BUY'。 我已經有執行此操作的代碼,如下所示。
cnt = 0
for row in list :
if row[1] == 'BUY' :
cnt = cnt + 1
print cnt
我需要一種更有效的方式來完成工作。 基本上,我正在尋找一個單行代碼來執行此操作。
您可以在生成器上使用sum()
來添加是否存在相關字符串的布爾值:
cnt = sum('BUY' in item for item in lst)
另外,不要命名變量list
否則將掩蓋內置函數list()
。
>>>l = [[1,'BUY',2015],
[2,'SELL',2015],
[3,'SELL',2015],
[4,'BUY',2015],
[5,'SELL',2015]]
>>> len([i for i in l if "BUY" in i])
這個如何:
count = len(filter(lambda x : x == 'BUY', list))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.