List 如何仅为[x,y]值列表中的每个x值绘制最高y值
我试图绘制一张x值和y值的图表/色谱图,这些x值和y值与时间有关,但只有那些y值最大的List 如何仅为[x,y]值列表中的每个x值绘制最高y值,list,chemistry,List,Chemistry,我试图绘制一张x值和y值的图表/色谱图,这些x值和y值与时间有关,但只有那些y值最大的 run = pymzml.run.Reader(in_path) time_dependent_intensities = [] for spectrum in run: if spectrum.ms_level == 1: has_peak_matches = spectrum.reduce(mz_range=(150,151))
run = pymzml.run.Reader(in_path)
time_dependent_intensities = []
for spectrum in run:
if spectrum.ms_level == 1:
has_peak_matches = spectrum.reduce(mz_range=(150,151))
if has_peak_matches != []:
for mz, I in has_peak_matches:
time_dependent_intensities.append(
[spectrum.scan_time_in_minutes(), I]
)
print("RT \ti")
for i in time_dependent_intensities:
print(i)
return
当我打印I时,我会得到一个巨大的列表,从0到15,每个x值有5个不同的y值:
[14.9929171, 21.0]
[14.9929171, 21.0]
[14.9929171, 20.0]
[14.9929171, 31.0]
[14.9929171, 25.0]
[14.9929171, 21.0]
[14.9929171, 18.0]
[14.9967165, 22.0]
[14.9967165, 26.0]
如何访问依赖于时间的强度列表中的列表[x,y],但只打印y值最大的列表。如果您有这样的列表,并且希望提取每个列表的最大值,则列表表达式可能是最方便的选项:
list][[15,10,1,18,2],
[1, 2, 10 , 15, 0],
[15, 10, 1, 18, 2],
[15, 10, 1, 18, 2],]
最大值=[列表中x的最大值(x)]
打印(最大值)
>>> [18, 15, 18, 18]