我们可能需要将给定值与列表的每个元素相关联。例如-有日期的名称,我们要在其后附加单词day作为后缀。可以通过以下方式处理这种情况。
我们可以使用itertools模块中的repeat方法,以便在使用zip函数将给定列表中的值配对时一次又一次使用相同的值。
from itertools import repeat listA = ['Sun','Mon','Tues'] val = 'day' print ("The Given list : ",listA) print ("Value to be attached : ",val) # With zip() and itertools.repeat() res = list(zip(listA, repeat(val))) print ("List with associated vlaues:\n" ,res)
输出结果
运行上面的代码给我们以下结果-
The Given list : ['Sun', 'Mon', 'Tues'] Value to be attached : day List with associated vlaues: [('Sun', 'day'), ('Mon', 'day'), ('Tues', 'day')]
lambda方法在列表元素上进行迭代,然后开始将它们配对。映射功能确保将列表元素与给定值配对时涵盖了列表中的所有元素。
listA = ['Sun','Mon','Tues'] val = 'day' print ("The Given list : ",listA) print ("Value to be attached : ",val) # With map and lambda res = list(map(lambda i: (i, val), listA)) print ("List with associated vlaues:\n" ,res)
输出结果
运行上面的代码给我们以下结果-
The Given list : ['Sun', 'Mon', 'Tues'] Value to be attached : day List with associated vlaues: [('Sun', 'day'), ('Mon', 'day'), ('Tues', 'day')]