在数据分析中,有时有必要在python列表中的每个元素上添加一些值,以判断新场景的结果。这有助于测试多个场景,以了解数据集在不同值下的行为,因此可以创建一个可以处理这些场景的模型或算法。在本文中,我们将看到如何处理此要求。
列表理解是处理列表的一种常规方法,我们在其中遍历列表的每个元素。在下面的示例中,我们使用简单的for循环将相同的数字添加到列表的每个元素。
orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) # Use list comprehension new_list = [n + 5 for n in orig_list] # printing result print ("After adding 5 to each element to list : " + str(new_list))
输出结果
运行上面的代码给我们以下结果-
The given list is : [5, 6, 7, 4, 10] After adding 5 to each element to list : [10, 11, 12, 9, 15]
map和add方法也可以得到相同的结果。Lambda函数对固定的迭代次数重复相同的操作,并且在所有lambda迭代结束后,使用map捕获结果。
orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) #Using map() + lambda new_list= list(map(lambda m : m + 3, orig_list)) print ("After adding i to each element to list : " + str(new_list))
输出结果
运行上面的代码给我们以下结果-
The given list is : [5, 6, 7, 4, 10] After adding i to each element to list : [8, 9, 10, 7, 13]
map()
和add()
代替lambda运算符,我们还可以将add方法与map一起使用。在下面的示例中,我们创建另一个列表,该列表的元素数量与列表的长度相同,并且包含需要添加的数量。然后我们应用map方法。
import operator orig_list = [5, 6, 7, 4, 10] print ("The given list is : " + str(orig_list)) # initializing new list list_with_k_value = [9] * len(orig_list) # using map() + operator.add new_list = list(map(operator.add, orig_list, list_with_k_value)) print ("After adding i2 to each element to list : " + str(new_list))
输出结果
运行上面的代码给我们以下结果-
The given list is : [5, 6, 7, 4, 10] After adding i2 to each element to list : [14, 15, 16, 13, 19]