簡體   English   中英

計數列表python中的元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM