我按字符串中的第一个单词和最后一个单词对列表中的字符串元素进行分组。我正在使用groupbyfromitertools进行分组。该过程似乎对最后一个单词运行良好,但对第一个单词似乎效果不佳。
from itertools import groupby
model_eval_cols = ['MAD model meFuelFlowStar', 'MedAD model meFuelFlowStar', 'MAD model rpmStar', 'MedAD model rpmStar']
for k, v in groupby(model_eval_cols, key=lambda x: x.split(' ')[2]):
print(k, list(v))
Run Code Online (Sandbox Code Playgroud)
以上输出
meFuelFlowStar ['MAD model meFuelFlowStar', 'MedAD model meFuelFlowStar']
rpmStar ['MAD model rpmStar', 'MedAD model rpmStar']
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将字符串按第一个单词分组:
for k, v in groupby(model_eval_cols, key=lambda x: x.split(' ')[0]):
print(k, list(v))
Run Code Online (Sandbox Code Playgroud)
似乎不起作用
MAD ['MAD model meFuelFlowStar']
MedAD ['MedAD model meFuelFlowStar']
MAD ['MAD model rpmStar']
MedAD ['MedAD model rpmStar']
Run Code Online (Sandbox Code Playgroud)
这让我很惊讶,因为按键是相同的