在2dpython数组中添加和查找数据的问题

2024-09-28 20:39:43 发布

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

我是python的新手,所以我怀疑对于初学者来说,我没有理解数组和列表之间的区别。不知道我是否应该用numpy

我遇到问题的那段代码想要创建一个2d数组。我想要实现的逻辑流程如下:

  1. 通过网络接口提供的MAC地址列表进行循环
  2. 将唯一的MAC地址添加到数组的第一列,一次添加一个
  3. 在循环迭代过程中,检查MAC地址之前是否已添加到第一列
  4. 如果MAC不存在,请在MAC旁边的第2列中输入一个整数值0
  5. 或者,如果MAC存在于第一列中,它希望从第二列检索当前的“计数”值,并将其赋给一个变量。计数值在别处递增

以下是中断的代码:

mcloc[[]] #define array

if pkt.addr2 not in mcloc[[]] :
    mcloc.append[pkt.addr2, 0]  
    #add MAC address and set a 0 counter value  
elif
    cntr = mcloc[pkt.addr2,[]]  
    #MAC found, now assign counter var from 2nd column

Tags: 代码numpy列表mac地址counter数组逻辑
2条回答

这似乎很难。你想过keys=MACs(保证唯一性)和value=frequency的字典吗?或使用计数器:

from collections import Counter
addresses = ['A','B','C','D','B','C']
Counter(addresses).most_common()
[('B', 2), ('C', 2), ('A', 1),('D',1)]`

使用Counter

from collections import Counter

mac_addresses = Counter(list_of_mac_addresses)

# mac_addresses is now a dict-like object, with MAC addresses
# as keys and number of occurrences as values

相关问题 更多 >