Python 阵列的比较与计算

Python 阵列的比较与计算,python,arrays,list,comparison,compare,Python,Arrays,List,Comparison,Compare,我有三张单子 r = [0.105, 0.111, 0.218, 0.225, 0.332, 0.440, 0.548, 0.656, 0.865, 1.75] ro = [850, 856, 844, 830, 787, 826, 764, 773, 781, 748] new_r = [0.25672, 0.39602, 0.55907, 0.65756, 0.77467, 0.93619] r和ro的长度始终相同,但len(new\u r)的长度始终小于r和ro的长度。 我想计算一下 (

我有三张单子

r = [0.105, 0.111, 0.218, 0.225, 0.332, 0.440, 0.548, 0.656, 0.865, 1.75]
ro = [850, 856, 844, 830, 787, 826, 764, 773, 781, 748]
new_r = [0.25672, 0.39602, 0.55907, 0.65756, 0.77467, 0.93619]
r
ro
的长度始终相同,但
len(new\u r)
的长度始终小于
r
ro
的长度。 我想计算一下

(r[i+1] -r[i])**3*ro[i+1]
对于小于
new\u r[]
中第一个元素的所有
r[i]
s,并将其打印(写入文件)。然后对所有
r[i]
s中小于
new\u r[]
中第二个元素的
r[i]
执行相同的操作,并将其打印(写入文件)。依此类推,直到
new\r


如何进行比较和计算

您可以使用[something for i in a_range if blablabla]语法

for newr in new_r:
  print [(r[i+1]-r[i])**3 * ro[i+1] for i in xrange(len(r) - 1) if r[i] < newr]
对于新建中的新建:
打印[(r[i+1]-r[i])**3*ro[i+1]表示x范围内的i(len(r)-1),如果r[i]
您可以这样做

from __future__ import print_function # only for compatibility with the 2 and 3 version of python
r = [0.105, 0.111, 0.218, 0.225, 0.332, 0.440, 0.548, 0.656, 0.865, 1.75]
ro = [850, 856, 844, 830, 787, 826, 764, 773, 781, 748]
new_r = [0.25672, 0.39602, 0.55907, 0.65756, 0.77467, 0.93619]

for el in new_r:
    print("for ",el)
    for i in range(len(r)-1):
        val =  (r[i+1] -r[i])**3*ro[i+1]
        if val < el:
            print(val)
from uuu future uuu导入print_函数#仅用于与python的2和3版本兼容
r=[0.105,0.111,0.218,0.225,0.332,0.440,0.548,0.656,0.865,1.75]
ro=[85684483078787878786826764773781748]
新r=[0.25672,0.39602,0.55907,0.65756,0.77467,0.93619]
对于纽约的el:
打印(“用于”,el)
对于范围内的i(透镜(r)-1):
val=(r[i+1]-r[i])**3*ro[i+1]
如果val
您试过什么吗?