本质上,列表理解语句是一组3个嵌套循环。在代码中:
l = []for x in df2['apples']: for y in df2['oranges']: for z in df2['bananas']: l.extend([x * y - z])
结果列表的长度将是Dataframe长度的3倍。因此,错误。要修复,您需要执行以下操作:
for x, y, z in zip(df2['apples'], df2['oranges'], df2['bananas']): l.extend([x * y - z])
在列表理解方面:
[x * y - z for x, y, z in zip(df2['apples'], df2['oranges'], df2['bananas'])]



