如何计算每米有多少个粒子?

2024-04-26 06:50:22 发布

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

我很难让柜台工作!你知道吗

我有一个距离数组(以米为单位):

d= [250.4, 250.6, 250.7, 250.7, 251.6, 251.7, 252.2, 253.5]

每个距离对应一个粒子。我想数一数每米有多少粒子。你知道吗

例如,有4个粒子在250-251m之间,2个粒子在251-252m之间,1个粒子在252-253m之间,等等

我知道我需要一个for循环,我假设一个计数器。你知道吗


Tags: 距离for计数器粒子单位数组柜台
2条回答

您可以只使用带整数键的字典:

counts = {}
data = [250.4, 250.6, 250.7, 250.7, 251.6, 251.7, 252.2, 253.5]

for datum in data:
    meter = int(datum)
    counts.setdefault(meter, 0)
    counts[meter] += 1

assert counts == {250: 4, 251: 2, 252: 1, 253: 1}

类似这样的内容(硬编码):

d= [250.4, 250.6, 250.7, 250.7, 251.6, 251.7, 252.2, 253.5]
newlist=[]
for elem in d:
   if 250<elem<251:
      newlist.append(4)
   elif 251<elem<252:
      newlist.append(2)
   elif 252<elem<253:
      newlist.append(1)
   #etc
print(newlist)

或者这个(不是硬编码的):

d= [250.4, 250.6, 250.7, 250.7, 251.6, 251.7, 252.2, 253.5]
listy=[[250,4],[251,2],[252,1]]
newlist=[]
for ele in d:
   for elem in listy:
      if str(elem[0])==str(ele)[0:-2]:
         newlist.append(elem[1])
print(newlist)

相关问题 更多 >