List 如何仅为[x,y]值列表中的每个x值绘制最高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))

我试图绘制一张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))
            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]