Python 使用for循环比较列表
现在的问题是我有一个列表,需要逐一迭代和比较Python 使用for循环比较列表,python,list,loops,for-loop,Python,List,Loops,For Loop,现在的问题是我有一个列表,需要逐一迭代和比较 def stockcheck(): stock = open("Stock.csv", "r") reader = csv.reader(stock) stockList = [] for row in reader: stockList.append(row) printstockList的输出为: [['Product', 'Current Stock', 'Reorder Level', 'Ta
def stockcheck():
stock = open("Stock.csv", "r")
reader = csv.reader(stock)
stockList = []
for row in reader:
stockList.append(row)
printstockList的输出为:
[['Product', 'Current Stock', 'Reorder Level', 'Target Stock'], ['plain blankets', '5', '10', '50'], ['mugs', '15', '20', '120'], ['100m rope', '60', '15', '70'], ['burner', '90', '20', '100'], ['matches', '52', '10', '60'], ['bucket', '85', '15', '100'], ['spade', '60', '10', '65'], ['wood', '100', '10', '200'], ['sleeping bag', '50', '10', '60'], ['chair', '30', '10', '60']]
我已经找到了这个的基础,但我没有运气。。。我相信解决办法很简单,但我还是不明白!基本上,我需要检查当前库存是否低于重新订购的水平,如果是将其保存到CSV,我可以做的部分没有问题
for item in stockList:
if stockList[1][1] < stockList[1][2]:
print("do the add to CSV jiggle")
这是我所能做的,但它没有迭代通过。。。有什么想法吗?提前谢谢 使用列表理解反复浏览股票列表,然后打印结果
[sl for sl in stockList[1:] if sl[1] < sl[2]]
如果您想知道stockList[1:]是为了确保忽略标题
但是,您必须注意,这些值是要比较的字符串。因此,将逐字符比较这些值。如果要进行整数比较,则必须将字符串转换为整数,前提是您绝对确定sl[1]和sl[2]将始终是整数-仅以字符串形式显示。试着做:
[sl for sl in stockList[1:] if int(sl[1]) < int(sl[2])]
使用[1:]不获取标题,然后进行比较
for item in stockList[1:]:
if item[1] < item[2]:
print item
print("do the add to CSV jiggle")
谢谢,这太棒了!项[1]<项[2]正在将数字作为字符串进行比较。。。以防万一。我是说,'5'>'10'@MildCorma如果答案是成功的,请接受答案。感谢[sl为库存清单[1]中的sl提供帮助,如果sl[1]
[['plain blankets', '5', '10', '50'], ['mugs', '15', '20', '120']]
for item in stockList[1:]:
if item[1] < item[2]:
print item
print("do the add to CSV jiggle")