如何检查列表中的数字是否大于其前面的数字-python
我有3组数据压缩在一起日期,数字,价格。我想遍历这个表,每当列表中的somenumber小于它前面的somenumber时,我想提取发生这种情况的日期、somenumber和价格。目前我只有:如何检查列表中的数字是否大于其前面的数字-python,python,Python,我有3组数据压缩在一起日期,数字,价格。我想遍历这个表,每当列表中的somenumber小于它前面的somenumber时,我想提取发生这种情况的日期、somenumber和价格。目前我只有: for a,b,c in zip(date,somenumber,price): print(a,b,c) 它会打印出如下内容: 当somenumber从808739变为462541时,我想返回该较低数字的数据: 2018-02-07 14:42:00 462541 7.33 谢谢 这将比较so
for a,b,c in zip(date,somenumber,price):
print(a,b,c)
它会打印出如下内容:
当somenumber从808739变为462541时,我想返回该较低数字的数据:
2018-02-07 14:42:00 462541 7.33
谢谢 这将比较somenumber+1和somenumber,如果somenumber+1序列中的下一个数字小于当前数字,它将打印该行的所有数据。如果不小于,则不会打印任何内容
for a,b,c,d in zip(date, somenumber, somenumber[1:], price):
if c < b:
print(a, b, c, d)
我从问题中了解到的是,每一次,somenumber的值在下一行中减小,它应该打印该行。它很容易实现。只需将上一个值存储在另一个变量prev_number中。但是,对于第一行,我们需要将prev_number初始化为可能的最小值。以下是解决方案:
import sys
prev_number = -sys.maxint - 1 #initialize prev_number to lowest possible number in python
for a,b,c in zip(date,somenumber,price):
if b < prev_number:
print(a,b,c)
prev_number = d
让我知道它是否适合您。323405小于859235。你也要报告吗?如果没有,为什么?python中没有可能的最低整数:n=-sys.maxint**10比您使用的小。它也是不需要的:prev_number=minsomenumber-1就足够了,您可以摆脱import@PatrickArtner这是正确的。但在这里,我们不知道一些数字的最小范围。这就是为什么我们可以使用sys.maxint值。
import sys
prev_number = -sys.maxint - 1 #initialize prev_number to lowest possible number in python
for a,b,c in zip(date,somenumber,price):
if b < prev_number:
print(a,b,c)
prev_number = d