我有一个带有数字的列表,我进行了一定的计算并且工作得很好,列表是一个文本文件" file.txt",其中有值(每行一个)。在每次计算/检查中,我使用两行,其中有许多行,下面是一个例子。
" file.txt的"
73649
38761
34948
47653
98746
59375
90251
83661
...更多行/数字
在这种情况下,我会使用第1行和第2行进行第一次计算,我希望它在使用第2行和第3行时为FALSE,如果为FALSE,则使用第3行和第4行,直到它为TRUE。
是否可以在Python中执行此操作? 谢谢你提前。
答案 0 :(得分:0)
我想这段代码应该回答你的问题:
SELECT A.Name
, B.Address
, B.City
, C.Position
, C.Salary
, D.WorkTime as Time
From Employee as A
Left Join EmployeeAddressInfo as B
on A.EID = B.AddId
Left Join EmployeeRoleInfo as C
on A.EID = C.RoleID
Left Join EmployeeTime as D
on A.EID = D.TimeID
where Position='Engineer'
离开循环时,(a,b)包含lst = [int(line) for line in open('bar.txt','r')]
for n in range(len(lst)-1):
a, b = lst[n], lst[n+1]
if calculation(a,b): break
else:
a, b = None, None
函数返回True的对。如果对calculation
的所有调用都返回False,则(a,b)替换为(None,None)
或者,当您的数据流式传输或无法完全存储在内存中时,您可以直接遍历流线:
calculation
答案 1 :(得分:0)
我认为这回答了你的问题:
(对于超过数百兆字节的超大文本文件,它不会非常有效)
def calc(x, y):
# do your calculation here
file = open("file.txt", "r")
list = file.readlines()
file.close()
item = 0
while item < len(list) - 1:
if calc(list[item], list[item + 1]) == false:
item += 1
# once you have found the lines that output false, you can do whatever you
# want with them with list[item] and list[item + 1]