在python中相当新,我仍然遇到循环问题,我想请求你们的帮助!
以下是数据:
a = [146,780,1567,2780,3600]
b = [0.2,0.5,0.7,1,1]
c = range(3601)
我想要构建的代码的想法是:
基本上:测试'c'中的每个值,如果该值低于'a'的第一个索引中的值,则将'c'中的值与'b'中的值连接起来,该值与'b'中的值相同一个来自'a'。如果'c'中的值高于'a'的第一个索引值,则测试'a'中的第二个索引值,如果它低于来自'c'的测试值,则将'c'中的值附加到'c'中'b'中的值与'a'中的值相同...等等
提前感谢您的一些想法...
汤姆
答案 0 :(得分:0)
首先让我们从python的角度来看一下这个操作。我们将创建一个包含我们想要的值的列表,然后将所述列表保存为excel可读格式。
在我们的方法中,我们想循环遍历c的所有值,检查它们是否小于或等于列表const check = (a, b) => {
for(let l of a) if(b.indexOf(l) >= 0) return true
return false
}
console.log(check("IloveLinux", "weloveNodejs")) // true
console.log(check("I love Linux".split(' '), "we love Nodejs".split(' '))) // true
中的索引i
的值,如果是,则保存{的值{1}}与a
。
为了让我们的生活更轻松,我们可以将c
和b
的值结合起来,这样当我们想要a
的第一个值时,我们也会得到相应的{{1}的第一个值同样适用于第二,第三,......第n个值。为此,我们应用b
函数,该函数根据索引将a
和b
的所有值配对。
使用字符串完成后,添加两个数字会更容易,因此我们首先使用zip()
将数字转换为字符串。然后我们使用字符串的连接运算符a
来连接这两个值。最后,我们使用b
将结果转换为浮点数。
使用这些知识,我们创建了以下代码片段:
str()
这里我们循环遍历+
中的每个数字,对于每个数字,我们循环遍历float()
和a = [146,780,1567,2780,3600]
b = [0.2,0.5,0.7,1,1]
c = range(3601)
output = []
for number in c:
for a_value, b_value in zip(a, b):
if number <= a_value:
output.append(float(str(number) + str(b_value)))
break
中的对列表。如果c
中的数字小于相应的a
值,我们会将b
的数字和相应值合并,并将其附加到输出中。
既然我们以列表格式输出,我们应该将其保存到一个文件中,以便可以使用Microsoft Excel打开它。由于Excel能够打开.csv文件,我们将以.csv格式将其写入。幸运的是python有一个csv模块。
我们可以像这样写一个名为c
的文件:
a