python 对中文名字序列排序_在Python中对序列排序的最佳方法是什么?

我试图根据需要在一行中发生的某些条件对表进行排序。

表格的简化版本:Number Time

1 23

2 45

3 67

4 23

5 11

6 45

7 123

8 34

。。。在

我要检查一下时间是不是连续45次。就像我需要检查第1-5行,然后第2-6行等等。。。然后在第一次也是最后一次打印并保存到文件中。比如,如果满足第2-6行的条件,我需要打印第2行和第6行的时间。条件满足后应停止检查。不需要检查其他行。到目前为止,我用两个temp变量实现了一个计数器来检查3个项目。它工作得很好。但是,如果我想检查连续发生30次的情况,我不能只手动创建30个临时变量。实现这一目标的最佳方法是什么?我想我只需要一个循环。谢谢!在

以下是我的部分代码:

^{pr2}$

我实施了巴库留提出的解决方案,它似乎奏效了。但是,将大量测试结合起来的最佳方法是什么?好像我需要检查几个条件。比如说:

五连续10个循环的效率小于40

连续5个循环的容量小于40

连续25个循环小于40次的时间

还有一些人。。。在

现在我刚开门csv.reader每次测试并运行函数。我想这不是最有效的方法。对不起,我只是个十足的傻瓜。在csvfiles = glob.glob('processed_data/*.stat')

for filename in csvfiles:

flag=[]

flag.append(filename[-12:-5])

reader = csv.reader(open(filename))

for a, row_group in enumerate(row_grouper(reader,10)):

if all(float(row[1]) < 40 for row in row_group):

str1= "Efficiency is less than 40 in cycles "+ str(a+1)+'-'+str(a+10) #i is the index of the first row in the group.

flag.append(str1)

break #stop processing other rows.

reader = csv.reader(open(filename))

for b, row_group in enumerate(row_grouper(reader,5)):

if all(float(row[3]) < 40 for row in row_group):

str1= "Capacity is less than 40 minutes in cycles "+ str(a+1)+'-'+str(a+5)

flag.append(str1)

break #stop processing other rows.

reader = csv.reader(open(filename))

for b, row_group in enumerate(row_grouper(reader,25)):

if all(float(row[3]) < 40 for row in row_group):

str1= "Time is less than < 40 in cycles "+ str(a+1)+'-'+str(a+25)

flag.append(str1)

break #stop processing other rows.

if len(flag)>1:

for i in flag:

print i

print '\n'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值