我很难找到工作的柜台!
我有一系列距离(以米为单位):
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
循环而我正在假设一个计数器。
答案 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)