计算python列表列表列中特定值的出现次数

问题描述

我有一个列表如下:

[[1,1,3],[2,3,2]]

我想将每个 3 中出现 3 的次数作为一个列表: ((0,0),(1,1),(2,(3,2))

最好的方法是什么?我需要转置然后使用列表理解吗?

解决方法

你不需要转置,只需保留一个带计数器的辅助字典:

m = [[1,1,3],[2,3,2]]

counters = {}

for j in range(len(m)):
    for i in range(len(m[j])):
        counters.setdefault(i,0)
        counters[i] += m[j][i] == 3

print(tuple(counters.items()))

打印:

((0,0),(1,1),(2,(3,2))
,

使用数据帧

import numpy as np
import pandas as pd


df = pd.DataFrame([[1,2]])

print((df==3).sum().sum())
3

有 3 个元素等于 3。

,

花了一些时间。我对理解有点生疏。感谢您的出色练习。

{% if "update" in request.get_full_path %}
 <form action="{% url 'account-update' account.id %}" method="PUT">
{% else %}
 <form action="{% url 'account-create' account.id %}" method="POST" enctype="multipart/form-data">
,

这行得通吗?

Set

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...