キーとして果物を含む辞書と、行番号とタイムスタンプを含む2次元のリストがあります。このリストには、果物の名前がトランスクリプトファイルに含まれています。果物はファイルに数回表示され、それぞれの発生を考慮する必要があるため、2次元リストが必要です。辞書は次のようになります。
mydict = {
'apple': [['1', '00:00:03,950'], # 1
['1', '00:00:03,950'], # 2
['9', '00:00:24,030'], # 3
['11', '00:00:29,640']], # 4
'banana': [['20', '00:00:54,449']], # 5
'cherry': [['14', '00:00:38,629']], # 6
'orange': [['2', '00:00:06,840'], # 7
['2', '00:00:06,840'], # 8
['3', '00:00:09,180'], # 9
['4', '00:00:10,830']], # 10
}
さて、果物の総数を印刷したいので、希望する解は10です。したがって、値の数を数えたいのですが、各リスト項目の数は数えませんが、リスト全体だけを数えたいと思います(意味を明確にするコメントを参照してください)。
この目的のために、私は試しました:
print(len(mydict.values()))
しかし、このコード行は、結果として4という数字を示しています。
そして、次のコードも私には機能しません:
count = 0
for x in mydict:
if isinstance(mydict[x], list):
count += len(mydict[x])
print(count)
誰かが10番を取得する方法を考えていますか?
サブリストの長さは、サブリストをlen
関数にマッピングして取得し、結果の長さのシーケンスをsum
関数に渡すことで合計できます。
sum(map(len, mydict.values()))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加