在Python中找到矩阵中所有元素的出现次数

2024-06-02 09:10:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子,我想找出所有发生的事件的线索。我设法做到了,但我想知道是否有更好的方法来使用numpy,例如where。在

我就是这么做的:

my_list = [[1,2,3,1, 3], [1,3,2]]

target_value = 3
locations = []
for k in range(len(my_list)):
    indices = [i for i, x in enumerate(my_list[k]) if x == target_value]
    locations.append((k, indices))
locations2 = []
for row in locations:
    for i in row[1]:
        locations2.append((row[0], i))
print locations2 # prints [(0, 2), (0, 4), (1, 1)]

Tags: intargetforvaluemy事件list单子
1条回答
网友
1楼 · 发布于 2024-06-02 09:10:38

虽然您可以在numpy中使用它,但是numpy对参差不齐的数组不太满意。我认为纯python理解版看起来不错:

>>> my_list = [[1,2,3,1, 3], [1,3,2]]
>>> [(i,j) for i,x in enumerate(my_list) for j,y in enumerate(x) if y == 3]
[(0, 2), (0, 4), (1, 1)]

相关问题 更多 >