这段代码有什么区别:
df.groupby(['Parameter', 'FortNight']).apply(
lambda r: r[['Customer', 'Amount']].to_dict(orient='records')
).unstack('Parameter').apply(lambda s: [
{s.index.name: idx, 'Details': value}
for idx, value in s.items()]
).to_json(orient='records')
和此代码?
p arr = [1, 2, 3, 4, 5]
p arr.map! { |a| a + 2 }
它们都得到相同的答案。它们只是实现同一解决方案的两种不同方法,还是流程或应用程序有所不同?
答案 0 :(得分:0)
#map
函数“为self的每个元素调用给定的块一次,用该块返回的值替换该元素”。
在第二个示例中,#each
方法通过添加+ 2
来修改数组的每个元素,并返回修改后的数组。第二个示例基于创建一个新数组,并用第一个数组中的修改值填充它。
处理过程几乎相同,主要区别在于,在第一个示例中,您将永久性地修改数组,而在第二个示例中,您将使第一个数组保持不变,并使用修改后的值创建一个新数组。