我正在处理下面的代码,其中AnalyteName_user_input是一个字符串列表,如下图所示。
偶尔会有一个实例,其中索引7的值是'W'而不是'W2'。目前的目标是创建一个新的列表,即AnalyteRatio_user_input。这将包含MeanResponse_list列表中浮点值之间的比率评估值。我认为目前的问题在于第3行,我试图使用if-in-if-in语句。我认为问题是我试图调用枚举中的下一行,但是行+ 1是来自AnalyteName_user_input列表的'W'值。我如何解决这个问题来调用列表中的下一行而不是字符串,然后添加一些int值?
AnalyteRatio_user_input = []
for i, line in enumerate(AnalyteName_user_input):
if 'W' in line and 'W2' in line+1: # need a way to define the next line. Unsure about this.
AnalyteRatio_user_input.append(MeanResponse_list[i]/MeanResponse_list[i+5])
AnalyteRatio_user_input.append(MeanResponse_list[i+1]/MeanResponse_list[i+5])
AnalyteRatio_user_input.append(MeanResponse_list[i+2]/MeanResponse_list[i+5])
AnalyteRatio_user_input.append(MeanResponse_list[i+3]/MeanResponse_list[i+5])
AnalyteRatio_user_input.append(MeanResponse_list[i+4]/MeanResponse_list[i+5])
AnalyteRatio_user_input.append(MeanResponse_list[i+5]/MeanResponse_list[i+5])
else:
AnalyteRatio_user_input.append('N/A')
答案 0 :(得分:0)
试试这一行
if 'W' in line and ('W2' in AnalyteName_user_input[i+1] if i < len(AnalyteName_user_input)-1 else True) :
请注意,对于最后一行,第二个条件总是评估为真
如果您不希望这样,则应将True
更改为False