如何计算每米中有多少颗粒?

时间:2017-07-11 17:52:55

标签: python python-2.7

我很难找到工作的柜台!

我有一系列距离(以米为单位):

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

每个距离对应一个粒子。我想计算每米中有多少颗粒。

例如,250-251m之间有4个颗粒,251到252m之间有2个颗粒,252-253m之间有1个颗粒等。

我知道我需要一个for循环而我正在假设一个计数器。

2 个答案:

答案 0 :(得分:0)

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

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}

答案 1 :(得分:0)

像这样(硬编码):

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)