[英]Count elements in a list python
我需要能夠計算列表中有多少個字符串“ O”
top_board = [
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None]
]
在添加“ O”和“ X”之類的元素后,它將如下所示
top_board = [
["O", None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, "O", None, None, None],
[None, None, None, None, None, None, None, "O", None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, "O", None, None, None, None, None],
[None, None, None, None, None, None, None, None, None],
[None, None, None, None, None, None, None, None, None]
]
現在我需要一個函數來檢查列表中的“ O”是否為0,然后打印一些內容
cnt = sum([lst.count('O') for lst in top_board])
# then do something depending on cnt
嘗試這個:
sum(x.count("O") for x in top_board)
更新資料
sum([sum([1 for x in y if x == "O"]) for y in top_board])
(沒有注意到嵌套...)
def count_O(l):
count = 0
for sublist in l:
count += sublist.count("O")
return count
if count_O(top_board) == 0:
#do something
if [j for i in top_board for j in i].count('O'):
print "O is present in the list"
由於您要求的功能:
def count_O (top_board):
if True in ["O" in e for e in top_board]:
print "O found"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.