如何从 Python3 中的度数列表中找到元素的数量?

How can I find the number of elements from a list of degrees in Python3?

基本上,我想从折叠度小于 45 的系统中提取平均元素数。为此,我从存放在文件夹中的配置文件中提取数据。然后,我计算角度(在代码中写为“angolo”)但实际上我不知道如何从该角度提取元素的数量。特别是,我不知道如何隔离角度小于 45 度的元素数量。 有谁知道 python3 函数或脚本来查找这些数字?

import sys,os
import numpy as np
fn='listadir.txt' # <=== lista_dir
with open(fn,'r') as f:
  lines=f.readlines()
for l in lines:
os.chdir('C:\Users\simone\anaconda3\Ex_Files_Python_Statistics_EssT\' + l.strip('\n'))
os.system('dir /b cnf-* > listacnf.txt')
with open('listacnf.txt','r') as f:
    linescnf=f.readlines()
    Q=np.matrix([[0.0,0.0,0.0],[0.0,0.0,0.0],[0.0,0.0,0.0]])
    cc = 1
for ll in linescnf:
    #print('ll=', ll)
    with open(ll.strip('\n')) as ff:
        cnft=ff.readlines()
    cnf=cnft[1:]
    for lc in cnf:
        
        lv = lc.strip('\n').split()
        #print('lc =', lc)
        
        ux = float(lv[3])
        uy = float(lv[4])
        uz = float(lv[5])
        Qxx = ux*ux
        Qxy = ux*uy
        Qxz = ux*uz
        Qyx = uy*ux
        Qyy = uy*uy
        Qyz = uy*uz
        Qzx = uz*ux
        Qzy = uz*uy
        Qzz = uz*uz
        Q += np.matrix([[Qxx, Qxy, Qxz],[Qyx, Qyy, Qyz],[Qzx,Qzy, Qzz]])
        cc += 1
        angolo = np.arccos(ux*uy*uz)
        #print(ux)
    #....
Q = Q/cc

# ....
os.chdir('..')
#print(l.strip('\n'))
N= 1000
mediangolo = angolo.mean()
frazione = mediangolo/N
print('frazione=', mediangolo)

我想这就是你想要的:

import numpy as np
l = np.array([10,20,30,40,50,60])
l[ l < 45] # returns: array([10, 20, 30, 40])

l < 45 将 return 与 lTrue 一样长的列表,其中元素小于 45 和 False 否则你可以使用它select 来自原始数组的值。

或者您只需要计数 np.count_nonzero( l < 45) 就可以了。